第三周博客作业

1、列出当前系统上所有已登录的用户名,注意:同一用户登陆多次,则只显示一次即可。
2、取出最后登录到当前系统的用户的相关信息。
3、取出当前系统上被用户当作默认shell的最多的那个shell。
4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
7、显示/var目录下一级子目录或文件的总个数。
8、取出/etc/group文件中第三个字段数值最小的10个组的名字。
9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
10、请总结描述用户和组管理类命令的使用方法并完成以下练习:

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

示例:[root@localhost ~]# who | cut -d : -f1 | sort -u
             root pts/0 2018-03-27 23:46

解释:使用who命令列出列出当前登录的所有用户,使用cut命令取出用户名,使用sort -u命令去重

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

示例:[root@localhost ~]# who | head -1
            root pts/0  

解释:使用who命令列出列出当前登录的所有用户,使用 head命令取出最后登录用户名相关信息。

 

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

示例:[root@localhost ~]# cut -d : -f7 /etc/passwd | uniq -c | sort -n | tail -1

            29 /sbin/nologin

解释:使用cut命令列出取出passwd上第7列所有使用的shell名称,使用uniq –c统计重复次数,sort -n按数值排序,tail -1取最大值

 

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

示例:[root@localhost ~]# sort -rn -t: -k3 /etc/passwd -n | tail -10 | tr “a-z” “A-Z” >/tmp/maxusers.txt
            [root@localhost ~]# cat /tmp/maxusers.txt
            UUCP:X:10:14:UUCP:/VAR/SPOOL/UUCP:/SBIN/NOLOGIN
            MAIL:X:8:12:MAIL:/VAR/SPOOL/MAIL:/SBIN/NOLOGIN
解释:使用sort命令将passwd文件按第三个字段排序,用tail取出最后十行,使用tr 命令转换大小写,用>号重定向保存到maxusers.txt文件中。

sort参数:-r:以相反的顺序来排序; -n:依照数值的大小排序;-k来指定列数;

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

示例:[root@localhost ~]# ifconfig eth0 | grep ‘\<inet\>’ | cut -d : -f2
            172.16.15.10 Bcast

解释:执行ifconfig命令,管道至对结果进行正规则表达式匹配,然后用cut命令切分,得到结果的第二列的ip地址。

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

示例:[root@localhost ~]# ls /etc/*.conf | tr “a-z” “A-Z” >/tmp/etc.conf
            [root@localhost ~]# cat /tmp/etc.conf
             /ETC/ANT.CONF
             /ETC/ASOUND.CONF

解释:用ls命令列出/etc下所有.conf的文件,用tr命令转换成大写,用>号把结果重定向到etc.conf文件。

 

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

示例:[root@localhost ~]# ls /var | wc -l

              21

解释:用ls命令列出/var下一级子目录,wc命令统计个数。

 

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

示例:[root@localhost ~]# sort -t : -k3 -n /etc/group | head -10 | cut -d : -f1
            root
            bin
            daemon
            sys
           adm
            tty
           disk
           lp
          mem
          kmem

解释:/etc/group用sort命令t为栏位分隔符,k3第三栏n依照数值的大小排序,用head命令取出前10行,用cut命令d为字段的分隔符,f1显示第一字段。

 

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

示例:[root@localhost ~]# cat /etc/fstab /etc/issue > /tmp/etc.test
            [root@localhost ~]# cat /tmp/etc.test

           # /etc/fstab
           # Created by anaconda on Thu Mar 22 22:29:16 2018
           #
           # Accessible filesystems, by reference, are maintained under ‘/dev/disk’
           # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
          #
          /dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
            UUID=7eee4732-a8d7-43ba-9f7d-8125ab037003 /boot ext4 defaults 1 2
           /dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
           tmpfs /dev/shm tmpfs defaults 0 0
           devpts /dev/pts devpts gid=5,mode=620 0 0
           sysfs /sys sysfs defaults 0 0
          proc /proc proc defaults 0 0
          CentOS release 6.6 (Final)
          Kernel \r on an \m

解释:用cat命令获取/etc/fstab和/etc/issue文件的内容并重定向到/tmp/etc.test文件中。

 

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

用户和组管理类相关命令:

(1)创建用户命令:useradd

格式:useradd [选项] 登录名
-u, –uid UID:指定UID;
-g, –gid GROUP:指定基本组ID,此组得事先存在;
-G, –groups GROUP1[,GROUP2,…[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号分隔;
-c, –comment COMMENT:指明注释信息;
-d, –home HOME_DIR:以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件;
-s, –shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;
-r, –system:创建系统用户;

注意:创建用户时的诸多默认设定配置文件为/etc/login.defs

useradd -D:显示创建用户的默认配置;
useradd -D 选项: 修改默认选项的值;

修改的结果保存于/etc/default/useradd文件中;

(2)   修改用户命令:usermod

格式:usermod [选项] 登录名

                             -u, –uid UID:修改用户的ID为此处指定的新UID;
                              -g, –gid GROUP:修改用户所属的基本组;
                              -G, –groups GROUP1[,GROUP2,…[,GROUPN]]]:修改用户所属的附加组;原来的附加组会被覆盖;
                              -a, –append:与-G一同使用,用于为用户追加新的附加组;
                              -c, –comment COMMENT:修改注释信息;
                              -d, –home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;
                             -m, –move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;
                              -l, –login NEW_LOGIN:修改用户名;
                              -s, –shell SHELL:修改用户的默认shell;
                              -L, –lock:锁定用户密码;即在用户原来的密码字符串之前添加一个”!”;
                              -U, –unlock:解锁用户的密码;

(3)删除用户命令:userdel

格式:userdel [选项] 登录名

                             -r:删除用户时一并删除其家目录;

(4)创建组命令:groupadd

格式: groupadd [选项] group_name

                            -g GID:指定GID;默认是上一个组的GID+1;
                            -r: 创建系统组;

(5)修改组属性命令:groupmod

格式:  groupmod [选项] GROUP

-g GID:修改GID;

                            -n new_name:修改组名;

(6)删除组命令:groupdel 

格式:groupdel [选项] GROUP

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

示例:[root@localhost ~]# groupadd -g 2016 distro
            [root@localhost ~]# tail -1 /etc/group
            distro:x:2016:

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

示例:[root@localhost ~]# useradd mandriva -u 1005 -g distro
            [root@localhost ~]# tail -1 /etc/passwd
            mandriva:x:1005:2016::/home/mandriva:/bin/bash

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

示例:[root@localhost ~]# useradd mageia -u 1100 -d /home/linux
            [root@localhost ~]# tail -1 /etc/passwd
            mageia:x:1100:1100::/home/linux:/bin/bash

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

示例:[root@localhost ~]# passwd mageia
            更改用户 mageia 的密码 。
            新的 密码:

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

示例:[root@localhost ~]# userdel mandriva

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

示例:[root@localhost ~]# groupadd peguin
            [root@localhost ~]# useradd slackware -u 2002 -g distro -G peguin
            [root@localhost ~]# tail -1 /etc/passwd
            slackware:x:2002:2016::/home/slackware:/bin/bash

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

示例:[root@localhost ~]# chsh slackware
              Changing shell for slackware.
            New shell [/bin/bash]: /bin/tcsh
            Shell changed.
            [root@localhost ~]# tail -1 /etc/passwd
            slackware:x:2002:2016::/home/slackware:/bin/tcsh

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

示例:[root@localhost ~]# groupadd admins

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

            [root@localhost ~]# tail -1 /etc/group
            admins:x:2018:slackware

 

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

赞 (0)
任总任总
上一篇 2018-03-27 17:13
下一篇 2018-03-27 19:13

相关推荐

  • 手把手系列(三)教你自制简单Linux系统

    CentOS启动相关最重要的几个文件有:内核vmlinuz文件、虚拟文件系统initramfs文件、grub文件以

    及init启动程序,围绕这几个文件,我们来制作一个能够简单启动的自制Linux系统

    2018-05-14
  • grep、vim及用户和组练习

    grep
    chown
    chmod
    vim

    2018-07-23
  • 新开始,新航程

           每一个夏天都是变动的季节,这个夏季我毕业了。大学最后的时光是在实验室度过的,每天都被瓶瓶罐罐所包围,鼻子里不时的飘进乙酸乙酯的香味,研究完了生物柴油的催化,是时候该为自己的未来找一条出路了。         大二的时候出于对计算机的着迷,一不小心点进了51cto,从此就走上了不归路。从计算机网络到linux,再到mysql,我在这个世界里乐此不…

    Linux笔记 2018-07-21
  • 搭建完整dns服务(超详细)

    基本框架结构图 域名不一定是magedu.com  可以自定义 准备8台虚拟机 虚拟机地址: 192.168.162.101 作为客户端 192.168.162.102 作为websrv1 端 192.168.162.103 作为websrv2端 192.168.162.104 作为主dns端 192.168.162.105 作为从dns端 192.168.…

    Linux笔记 2018-06-02
  • 马哥教育 – 第二周作业

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 <1>命令:CP 概念:用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。 语法…

    2018-05-21

评论列表(1条)

  • 马哥教育
    马哥教育 2018-04-10 21:56

    作业是认真思考过的。