美文网首页我爱编程
Linux用户管理和组管理部分命令实例

Linux用户管理和组管理部分命令实例

作者: Tigfish | 来源:发表于2018-05-27 16:37 被阅读0次

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

    问题分析:使用who命令可以查询当前系统中登录用户的信息,使用cut命令将用户名部分进行截取,并将用户名信息通过uniq命令进行去重,得出当前系统已经登录的不重复用户名

    [root@bogon ~]# who | cut -f1 -d " " | uniq

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

    问题分析:who命令查询登录到系统用户时,默认按登录系统的时间进行排序,对其最后一行登录信息进行显示即可

    [root@bogon ~]# who | tail -1

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

    问题分析:在/etc/passwd文件中记录了系统用户默认shell的信息,使用cut命令对此信息进行截取,经排序后,使用uniq命令进行数量统计,按统计数量重新排序后,使用tail命令选取最后一行记录,并对其进行截取,得到作为默认shell最多的shell名称

    [root@bogon ~]# cut -f7 -d ":" /etc/passwd | sort | uniq -c | sort -n | tail -1 | xargs -n 2 | cut -f2 -d " "

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

    问题分析:截取/etc/passwd文件中第三个字段的记录,对其排序后,选取最后10项,并将其转换为大写保存到指定文件中

    [root@bogon ~]# cut -f3 -d ":" /etc/passwd | sort -n  |tail -10 | tr 'a-z' 'A-Z' > /tmp/maxusers.txt

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

    问题分析:在ifconfig命令的结果中查找inet关键字,并对此关键字所在行进行处理,通过cut截取到ip地址信息,并显示所需ip地址信息

    [root@bogon ~]# ifconfig | grep inet | xargs -n2 | cut -d" " -f2 | head -1

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

    问题分析:使用ls命令和Linux通配符查找到符合条件的文件名,进行字符转换后,保存至指定文件中

    [root@bogon ~]# ls /etc/*.conf |tr 'a-z' 'A-Z' > /tmp/etc.conf

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

    问题分析:ls命令得到的查询结果不能直接用于wc命令进行数量统计,需要将ls命令查询结果输出到一个临时文件中,之后使用wc命令进行统计

    [root@bogon ~]# ls -d /var/* |tee /tmp/var.out |wc -l

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

    问题分析:对/etc/group文件中第三个字段进行排序,将排序结果前10项的组名信息进行截取

    [root@bogon ~]# sort -nk 3 -t : /etc/group |head -10 | cut -f1 -d ":"

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

    问题分析:使用cat命令,李勇Linux目录展开特性,将两个文件合并后的结果重定向输出到指定文件中

    [root@bogon ~]# cat /etc/{issue,fstab} >/tmp/etc.test

    10、请总结描述用户和组管理类命令的使用方法并完成以下练习:

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

    问题分析:使用groupadd命令创建组时,使用-g选项指定该新增组的组ID

    [root@bogon ~]# groupadd -g 2016 distro

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

    问题分析:使用useradd新建用户时,使用-u选项指定用户的UID,使用-g选项指定用户的基本组

    [root@bogon ~]# useradd -u 1005 -g distro mandriva

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

    问题分析:使用useradd命令创建用户时,使用-u选项指定用户的UID,使用-d选项,指定用户的家目录

    [root@bogon ~]# useradd -u 1100 -d /home/linux mageia

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

    问题分析:使用passwd命令,为指定用户修改登录密码

    [root@bogon ~]# passwd mageia

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

    问题分析:使用userdel命令删除用户时,默认不删除用户的家目录

    [root@bogon ~]# userdel mandriva 

    验证结果:

    [root@bogon ~]# ls /home/

    linux mandriva slackware tigfish

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

    问题分析:创建用户需要使用useradd命令,在创建用户时,使用-u选项,指定该用户的UID,-g选项指定该用户的基本组,-G选项指定该用户的附加组

    [root@bogon ~]# useradd slackware -u 2002 -g distro -G peguin

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

    问题分析:usermod命令中,使用 -s 选项,为指定用户修改默认shell

    [root@bogon ~]# usermod -s /bin/tcsh slackware

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

    问题分析:usermod命令中,使用 -G 选项,为指定用户增加附加组

    [root@bogon ~]# usermod -G admins slackware

    相关文章

      网友评论

        本文标题:Linux用户管理和组管理部分命令实例

        本文链接:https://www.haomeiwen.com/subject/zigbjftx.html