第三周博客作业

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

相关推荐

  • 网络基础

    1、网络的特征
    2、OSI模型的七层结构
    3、LAN组成

    Linux笔记 2018-06-19
  • Ansible使用介绍(二)YAML语法及Playbook

    playbook是由一个或多个”play”组成的列表,play的主要功能在于将事先归并为一组的主机装扮成事先通过ansibe中的task定义好的角色。从根本上来讲,所谓task无非是调用ansible的module。将多个play组织在一个playbook中,即可让它们联同起来按事先编排的机制运行。

    2018-05-30
  • Homework_week5

    1、简述rpm与yum命令的常见选项,并举例 RPM rpm是一个功能十分强大的软件包管理系统,它使得在Linux下安装、升级和删除软件包的工作变的容易、并且具有查询、验证软件包的功能 安装 rpm {-i|–install} [install-options] PACKAGE_FILE … 选项: -h:-hash,显示安装进度 -…

    Linux笔记 2018-07-23
  • shell回顾

    测试基础知识

    2018-05-17
  • Linux中的文本查看和处理练习题

    linux中的文本查看和处理练习题
    linux用户和组管理类命令的使用方法及练习

    Linux笔记 2018-07-08
  • lvm

    。。

    Linux笔记 2018-05-02

评论列表(1条)

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

    作业是认真思考过的。