马哥教育网络班20期+第三周课程练习

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

  who | cut -d ' ' -f1 | uniq

 

    who : 显示当前登录的用户及其终端和时间。

    w   : 显示当前登录的用户及其正在做什么。

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

  who | tail -1

    

    who 命令可以查看当前登录的用户,最后一次登录的用户信息显示在最后一行。

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

  cat /etc/passwd | cut -d : -f7 | sort | uniq -c | sort -n | tail -1

    第一次sort按字母进行排序,让相通的shell都排在一起,要不然用uniq -c 时会出现一样的shell有不同的统       计。

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

  cat /etc/passwd | sort -t : -k 3 -n | tail -10  | tr 'a-z' 'A-Z' > /tmp/maxusers.txt

    sort -t :排序时指定 分隔符 

         -k :指定分隔符后面哪一区域的字符串 来 进行排序

         -n :以数字大小进行排序

    tr  : tr 'SET1' 'SET2'  把字符串1转换为字符串2

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

 ifconfig | grep "^[[:space:]]\+\<inet\>"  |cut -d ' ' -f 10 | head -1

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

 ls /etc/*.conf |cut -d '/' -f 3 | tr 'a-z' 'A-Z' > /tmp/etc.conf

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

  ls -l /var | wc -l

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

  cat /etc/group | sort -t: -k 3 -n | head -10 | cut -d : -f1

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

 cat /etc/fstab /etc/issue > /tmp/etc.test

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

    linux 用户和组管理涉及到四个文件 :

        /etc/passwd :用户账号信息

           各字段的含义
            root:x:0:0:root:/root:/bin/bash
            账户:密码占位符:UID:GID:注释信息:家目录:用户默认shell

        /etc/shadow :用户密码和账号设定

            root:$6$VfkLhLFa$va6OlLz/I5w.KdIbHEklKu8xC/iL84MgNcK86GeK769ATv27ngCpa8imV2CDGvY5Ec3bGzftSuLT.jcQB/dZ8.:16882:0:99999:7:::
            用户名:加密的密码:最近一次密码修改的时间:最短密码使用期限:最长密码使用期限:密码过期提前几天警告:密码非活动期限:账号过期期限:保留区域

        /etc/group  :用户组信息

            adminuser:x:1003:natasha,harry
            组名:组密码占位符:GID:以逗号分隔属于此组的用户列表

        /etc/gshadow:用户组密码


    用户和组管理命令:

        useradd :创建用户

            -u  : 指定uid

            -g  : 指定基本组

            -G  : 指定附加组

            -s  : 指定shell

            -r  :  创建系统用户

        groupad :创建组

            -g gid : 指定gid

        passwd  : 更改密码

            –stdin :可不通过交互方式给用户改密码。

        userdel : 删除用户

            -r  : 一并删除用户和家目录

        groupdel : 删除组

        usermod   : usermod [option] username

            -u :更改uid

            -g :更改基本组

            -G :更改附加组,通常与-a 一起使用追加附加组

            -d :修改家目录位置,加-m 可以把用户原有文件迁移到新的家目录中

            -s : 更改shell

        chage : 更改用户密码策略   chage [option] username

    (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 -aG admins slackware

    (9)、为slackware添加密码,且要求密码最短使用期限为3天,最长为180天,警告为3天

        [root@black ~]# chage slackware
         Changing the aging information for slackware
         Enter the new value, or press ENTER for the default

	    Minimum Password Age [0]: 3
	    Maximum Password Age [30]: 180
	    Last Password Change (YYYY-MM-DD) [2016-06-26]: 
	    Password Expiration Warning [7]: 3
	    Password Inactive [-1]: 
	    Account Expiration Date (YYYY-MM-DD) [-1]: 
       
        [root@black ~]# echo "redhat" | passwd --stdin slackware
            Changing password for user slackware.
            passwd: all authentication tokens updated successfully.
            
        [root@black ~]# cat /etc/shadow | grep slackware
        slackware:$6$QR4xbLYP$GaujSFJLzIEQv1jw72xYObMAnhV5PrRRNZESHHDc9WcKy8g1/S.Ckh1PCb1eJY6EHGUdM        2XEKRglxAK8B1LL20:16978:3:180:3:::

    (10)、添加用户openstack,其ID号为3003, 基本组为clouds,附加组为peguin和nova;

        groupadd clouds 
        groupadd nova
        useradd -u 3003 -g clouds -G peguin,nova openstack

    (11)、添加系统用户mysql,要求其shell为/sbin/nologin;

         useradd -r -s /sbin/nogolin mysql

    (12)、使用echo命令,非交互式为openstack添加密码。

        echo "redhat" | passwd --stdin openstack

原创文章,作者:Cache,如若转载,请注明出处:http://www.178linux.com/20347

(0)
CacheCache
上一篇 2016-06-26
下一篇 2016-06-26

相关推荐

  • Centos6.5利用RubyGems的fpm制作zabbix_agent的rpm包,并使用ansible批量部署

    一、 搭建rpm包制作环境 安装gcc [root@lvs1 ~]# yum install gcc 安装make [root@lvs1 ~]# yum install make 安装ruby源(ruby版本必须要在1.9.3以上,centos自带的是1.8的版本,需要自己编译安…

    Linux干货 2016-08-20
  • 学习宣言

    世界上没有笨的人,只有不勤奋的人。严格按照学习计划要求自己,努力完成学业,为自己以后的职业发展铺平道路;

    Linux干货 2016-10-25
  • 磁盘管理

    磁盘管理磁盘管理 本章内容 磁盘结构 分区类型 管理分区 管理文件系统 挂载设备 管理虚拟内存 设备文件 I/O Ports: I/O设备地址 一切皆文件: open(), read(), write(), close() 设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位“字符”,键盘 设备文件:关联至一…

    Linux干货 2016-08-26
  • 运维练习题

     1、简述TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。TCP三次握手:客户端向服务器发送SYN包,客户端进入syn_SEND状态服务端收到客户端的发送的包返回ACK+SYN包,服务器端进入SYN_RECV状态客户端收到服务器端返回的包再发ACK包,客户端进入ESTABLISHED状态,服务器收到包也进入ESTABLISHED状态客户…

    Linux干货 2016-06-12
  • 重定向以及管道

    描述I/O设备的重定向

    Linux干货 2017-11-19
  • 马哥教育网络班22期第二周课程练习1-未闻花名

    1、Linux管理文件和目录的命令 命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找某字符 cp 复制文件 touch 创建文件 mv 移动文件 rm 删除文件 rmdir 删除目录 1.1 pwd命令 该命令的英文解释为print working directory(打…

    Linux干货 2016-08-29

评论列表(1条)

  • 马哥教育
    马哥教育 2016-06-29 15:25

    写的很好,排版还可以在漂亮一些,加油