第三周

作业

1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。

#!/bin/bash
# Version:
# Description:
# Author: jerry<jerry@whitehouse>
# Date: 2017/12/15
who | cut -d' ' -f1 | sort | uniq

 

2、取出最后登录到当前系统的用户的相关信息。

#!/bin/bash
#
last -a -i | head -n 1
-i: 主机名不反解,以IP显示;
-a: 将主机名显示在最后一行;

 

3、取出当前系统上被用户当作其默认shell的最多的那个shell。

#!/bin/bash
#
cut -d: -f7 /etc/passwd | sort | uniq -c | sort -t' ' -k 1 -r -n | head -n 1 || awk -F: '{array[$NF]++} END {for (i in array) {print i,array[i]}}' /etc/passwd | sort -t' ' -k2 -r | head -n 1

 

4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。

#!/bin/bash
#
sort -t':' -k3 -n /etc/passwd | tail -n 10 | tr [a-z] [A-Z] | tee /tmp/maxusers.txt

 

5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。

#!/bin/bash
#
ifconfig | egrep -o '(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.?){4}'

 

6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。

#!/bin/bash
#
ls -d /etc/*.conf | xargs -I {} basename {} | tr 'a-z' 'A-Z' > /tmp/etc.conf

 

7、显示/var目录下一级子目录或文件的总个数。

#!/bin/bash
#
ls /var | wc -l

 

8、取出/etc/group文件中第三个字段数值最小的10个组的名字。

#!/bin/bash
#
sort -t':' -k3 -n /etc/group | head | grep -o '^[^:]\+'

 

9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。

#!/bin/bash
#
cat /etc/fstab /etc/issue | tee /tmp/etc.test

 

10、请总结描述用户和组管理类命令的使用方法并完成以下练习:
组管理:groupadd、groupmod、groupdel
用户管理:useradd、usermod、userdel、passwd、gpasswd、newgrp、change、chsh
其它:id、su、finger、which、where、w、who

(1)、创建组distro,其GID为2016;

 # groupadd -g 2016 distro

 

(2)、创建用户mandriva, 其ID号为1005;基本组为distro;

 # useradd -u 1005 -g distro mandriva

 

(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;

 # useradd -u 1100 -d /home/linux mageia

 

(4)、给用户mageia添加密码,密码为mageedu;

 # echo "mageedu" | passwd --stdin mageia

 

(5)、删除mandriva,但保留其家目录;

 # userdel mandriva

 

(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;

 # groupadd peguin
 # useradd -u 2002 -g distro -G peguin slackware

 

(7)、修改slackware的默认shell为/bin/tcsh;

 # usermod -s /bin/tcsh slackware

 

(8)、为用户slackware新增附加组admins;

 # groupadd admins
 # usermod -a -G admins slackware

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90124

(2)
逆神阳逆神阳
上一篇 2017-12-15
下一篇 2017-12-16

相关推荐

  • linux文件查找和压缩

    locate          非实查找,查找是根据全系统文件数据库进行的,                  #updatedb, 手动生成数据库,  locate查找速度快 find : &nbs…

    Linux干货 2017-03-04
  • Linux基础(九)-shell编程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash declare -i nologin=0 declare -i login=0 while read l…

    Linux干货 2016-11-20
  • mysql知识系列–东西比较全

     A。结构化查询语言(structured query language) B。SQL语句分类  -在MySql数据库中,SQL语句主要可以划分以下几类:  ——DDL(data definition language):数据定义语言,定义对数据库对象(库、表、列、索引)的操作  -create,drop,alter,…

    Linux干货 2017-02-14
  • 正则表达式 小结

    听老师和学姐都说,正则表达式很重要,所以这次我总结一下,同时加强一下记忆。 目前我们学的正则表达式有:字符匹配;匹配字数;位置锚定。 :. 匹配任意单个字符 [] 匹配指定范围内的任意单个字符 [^] 匹配指定范围外的任意单个字符 [:alnum:] 或 [0-9a-zA-Z] [:alpha:] 或 [a-zA-Z]…

    2017-07-31
  • Linux用户、组和权限管理

    知识框架图 学习笔记 用户和组 UID root:0 系统用户:1-499、1-999 普通用户:500+、1000+ GID 管理员组:0 系统组:1-499、1-999 普通组:500+、1000+ 安全上下文 进程:运行中的程序 进程所能访问资源的权限取决于进程运行用户本身 组的类别 主要组 用户有且只能有一个主要组 组名=用户名,组中只能有一个用户 …

    2018-03-17
  • samba

    FTP,SAMBA,NFS之间的区别 FTP        Windows/linux/unix/macOS等        发布网站,文件共享              Tcp/21 Samba  …

    Linux干货 2016-11-01

评论列表(1条)

  • 马哥教育
    马哥教育 2018-01-07 18:09

    内容上基本上没什么问题~文章中能体现自己的想法会更好~