马哥教育网络班22期+第3周课程练习

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

    who | cut -d' ' -f1 | sort -u


1472370027449107.jpg

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

    who | sort -t' ' -k4 | tail -1


1472370133283962.jpg

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

    cut -d: -f7 /etc/passwd | uniq -c | sort | head -1


1472370163947946.jpg

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

    sort -t: -k3 -n /etc/passwd | tail -10 | tr [a-z] [A-Z] 1> /tmp/maxusers.txt


1472370216825066.jpg

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

    ifconfig eno16777736 | cut -d' ' -f10 | egrep "[0-9]+[.]"


1472370276649173.jpg

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

    ls /etc/*.conf | tr [a-z] [A-Z] 1> /tmp/etc.conf


1472370314958122.jpg

7、显示/var目录下一级子目录或文件的总个数
    ll /var | grep "^[d]" | wc -l

    ll /var | grep "^[^d]" | wc -l


1472370391423273.jpg

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

    sort -t: -k3 -n /etc/group | head -10


1472370423521713.jpg

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

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


1472370463864148.jpg

10、请总结描述用户和组管理类命令的使用方法并完成以下练习:
    groupadd命令:添加组
        groupadd [OPTION] GROUP
        -g GID:手动指定GID;默认是上一个组的GID+1

    groupmod命令:修改组属性
        groupmod [OPTION] GROUP
        -g GID:修改GID
        -n newname:修改组名

    groupdel命令:删除组
        groupdel GROUP

    useradd命令:创建用户
        useradd [OPTION] LOGIN
        -u,–uid:指定UID
        -g,–gid:指定基本组ID,此组得事先存在
        -c,–comment:致命注释信息
        -G,–groups GROUP1[,GROUP2,…[,GROUPN]]:指明用户所属的附加组,多个组之间用逗号分隔
        -d,–home:创建以指定路径为用户家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件
        -M,–no-create-home:不创建家目录
        -s,–shelll:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中
        -r,–system:创建系统用户
        PS:创建用户时的诸多默认设定配置文件为/etc/login.defs
        useradd -D:显示创建用户的默认配置
        useradd -D 选项:修改默认选项的值
        修改的结果保存于/etc/default/useradd文件中

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

    userdel命令:删除用户
        userdel [OPTION] LOGIN
        -r:删除用户时一并删除其家目录

    passwd命令:
        passwd  [-k]  [-l]  [-u  [-f]]  [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [–stdin] [username]
        (1)passwd:修改用户自己的密码
        (2)passwd USERNAME:修改指定用户密码,仅限root有权限
        -l -u:锁定和解锁用户
        -d:清除用户密码串
        -e DATE:过期期限,日期
        -i DAYS:非活动期限
        -n DAYS:密码最短使用期限
        -x DAYS:密码最长使用期限
        -w DAYS:警告期限
        –stdin:echo "PASSWORD"|passwd –stdin USERNAME

    gpasswd命令:
        gpasswd [OPTION] group
        -a USERNAME:向组中添加用户
        -d 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;
        passwd mageia
        mageedu

        mageedu

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

        userdel mandriva

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

        useradd -u 2002 -g distro -G peguin slackware

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

        usermod -s /bin/tcsh slackware

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

        usermod -aG admins slackware

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

        passwd -n 3 -x 180 -w 3 slackware

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

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

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

        useradd -r -s /sbin/nologin mysql

(12)、使用echo命令,非交互式为openstack添加密码。
        echo "PASSWORD"|passwd –stdin openstack

原创文章,作者:N22-上海-葡挞,如若转载,请注明出处:http://www.178linux.com/41291

(0)
N22-上海-葡挞N22-上海-葡挞
上一篇 2016-08-29 08:52
下一篇 2016-08-29 08:52

相关推荐

  • nginx_http_proxy,upstream,stream模块简析

    一. ngx_http_proxy_module模块:         模块功能: 为后端httpd服务做反向代理, 并且与Httpd 之间使用http进行通信       1、proxy_pass URL;  &nbs…

    Linux干货 2016-10-29
  • keepalived实现lvs的高可用

    lvs可以做到内核级别的四层负载均衡,具有非常强悍的负载均衡能力。但是,当我们构建lvs的负载均衡集群的时候也会面临一些很严重的问题: lvs的单点故障:当lvs负载均衡器出现故障的时候,那么后端所有的服务器都将无法访问; lvs对后台服务器没有健康监测机制:当后台服务器宕机之后lvs还是会调度服务到后台的服务器; 所以我们就需要一款工具来解决以上问题。 k…

    2017-07-03
  • ☞RAID使用手册

    RAID使用手册 RAID演示

    Linux干货 2016-09-02
  • N22第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可 [root@localhost ~]# who |cut -d' ' -f1 |sort -u   root   xuc 2、取出…

    Linux干货 2016-08-29
  • N21_第6周_vim

    N21_第6周_vim 请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; 2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; 3、删除/tmp/…

    Linux干货 2016-08-15
  • Python入门之闭包,匿名函数,过滤器,映射器,折叠

    在学习python函数的过程中,函数的高阶应用包括闭包lambda函数,过滤器等都让我头痛不已.接下来我把课堂中听到的笔记进行整理,再写一遍,希望在提醒自己的同时也能帮助到别人. 首先,我们来看一下什么是闭包,闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式 (而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见…

    Linux干货 2015-12-19

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-30 12:48

    希望同学在下次操作时,将输出结果一并附上,关键部分即可,不用全部,请加油