N22-第三周作业

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

~]# who | cut -d' ' -f1| uniq -u

 执行前的情况:

1473039388687894.png

 执行后的情况:

1473039438353995.png

    

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

 ~]# id $(who | tail -1|cut -d' ' -f1)

1473039620437792.png

或者:

~]# grep "$(who|tail -1|cut -d' ' -f1)" /etc/passwd

1473039703217078.png

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

~]# cut -d: -f7 /etc/passwd|sort|uniq -c| sort -n |tail -1|grep -E -o "[/].*"

1473040212942654.png

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

 ~]# sort -n -t: -k3 /etc/passwd | tail |tr 'a-z' 'A-Z' >/tmp/maxusers.txt

1473040421786970.png

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

~]# ifconfig eno16777736|grep -E -o "inet\>.*" | cut -d' ' -f 2

1473040777245485.png

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

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

1473040974424591.png

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

~]#num1=$(tree -L 1 /var | tail -1 | grep -o "[[:digit:]]*" | head -1);\
num2=$(tree -L 1 /var | tail -1 | grep -o "[[:digit:]]*" | tail -1);sum=$[$num1+$num2];echo $sum

1473042942746901.png

1473043009192963.png

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

~]# sort -n -t: -k3 /etc/group| head |cut -d: -f1

1473043122818052.png

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

~]# cat /etc/fstab /etc/issue >/tmp/etc.test

1473043209626811.png

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

   用户和组管理类命令的使用方法:

     用户的管理类有:useradd,usermod,userdel,passwd

    组管理类有:groupadd,groupmod,groupdel,gpasswd

    用户:

    useradd命令:

      useradd [options] LOGIN
       -u UID  :指定UID
       -g GROUP :指定基本组,此组得存在
       -G GROUP1[,GROUP2...] :指明用户所属的附加组
       -c COMMENT :指明注释信息
       -d HOME_DIR :以指定的路径为用户的家目录。
       -s SHELL :指定用户的默认shell
       -r :创建系统用户

    usermod命令:

       usermod [options] LOGIN
       -u UID:修改用户的ID为此处指定的新UID
       -g GROUP:修改用户所属的基本组
       -G GROUP1[,GROUP2...]:修改用户所属的附加组,原来的附加组会被覆盖。
       -a :与-G一同使用,用于为用户追加新的附加组。
       -c COMMENT:修改注释信息
       -d HOME_DIR:修改用户的家目录,用户原有的文件不会被转移至新位置。
       -m :只能与-d一同使用,用于将原来的家目录的移动为新的家目录。
       -l NEW_LOGIN:修改用户名
       -s SHELL:修改用户的默认shell
       -L:锁定用户密码
       -U:解锁用户密码

     userdel命令:

        userdel [OPTIONS] LOGIN
        -r:删除用户时,一并删除其家目录

    passwd命令:

        1、passwd:修改用户自己的密码。
        2、passwd USERNAME:修改指定用户的密码,但仅root有此权限。
        -l :锁定用户
        -u :解锁
        -d :清楚用户密码串
        -i DAYS:非活动期限
        -n DAYS:密码的最短使用期限
        -x DAYS:密码的最长使用期限
        -w DAYS:警告期限
        --stdin :非交互的修改密码

    组管理:   

        groupadd命令: 

        groupadd [OPTIONS] GROUP_NAME
        -g GID :指定GID,默认是上一个组的GID+1
        -r :创建系统组

        groupmod命令:

        groupmod [OPTIONS] GROUP
        -g GID:修改GID
        -n NEW_NAME:修改组名

        groupdel命令:

        groupdel 组名

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

~]# groupadd -g 2016 distro

   blob.png

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

~]# useradd -u 1005 -g distro mandriva

blob.png

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

~]# useradd -u 1100 -d /home/linux mageia

blob.png

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

~]# echo "mageedu" | passwd --stdin mageia

blob.png

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

~]# userdel mandriva

blob.png

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

~]# useradd -u 2002 -g distro -G peguin slackware

blob.png

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

~]# usermod -s /bin/tcsh slackware

blob.png

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

~]# usermod -a -G admins slackware

blob.png

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

~]# echo "password" | passwd --stdin slackware ; passwd -n3 -x 180 -w3 slackware

1473048854404096.png

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

~]# useradd -u 3003 -g clouds -G peguin,nova openstack

blob.png

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

~]# useradd -r -s /sbin/nologin mysql

blob.png

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

~]# echo "password" | passwd --stdin openstack

blob.png

原创文章,作者:N22-成都-stephen,如若转载,请注明出处:http://www.178linux.com/43508

(0)
N22-成都-stephenN22-成都-stephen
上一篇 2016-09-06 08:53
下一篇 2016-09-06 08:53

相关推荐

  • 浅谈技术管理(转载,讲的非常不错,技术和产品都值得一看)

      针对这些年旁观和经历过的技术产品场景,做一些个人的总结和判定,尽量不涉及争议性话题,比如对一个互联网公司而言,技术重要还是产品重要之类的,这种话题一扯开,各有道理,谁也别指望说服谁。     此外,加一个前缀,主要针对非技术领导者所面临的技术管理困境,在很多从传统企业转型或个人站转型的互联网企业里,这个问…

    Linux干货 2015-04-04
  • 将两个局域网用openvpn连接起来

    考虑到我们做集群的时候需要用到可能有20台机器,可能我的要求跟别人的不一样的,我需要做20台左右的集群,不仅仅是会,而且需要非常熟练的搭建,最后通过脚步一键自动化部署安装。 目前我有两台电脑,一台可以运行7台,另一台可以运行12台左右,刚好可以满足的我的要求,但是我两台电脑都是设置的nat模式的网络,为什么我非要配置nat模式呢,根据集群架构思想,为了保证架…

    Linux干货 2017-05-01
  • 启动和内核管理

    一、Linux组成     Linux: kernel+rootfs         kernel: 进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能       &nb…

    Linux干货 2016-09-18
  • Net25 第二周作业

    一、Linux上的文件管理类命令,其常用的使用方法和相关示例 1、ls:查看文件与目录 作用:ls命令用于显示目录内容,类似于DOS下的dir命令,它的使用权限是所有用户。 用法:ls [选项]…[文件]… 主要选项如下: -a:全部的文件,连同隐藏文件(开头为 .的文件)一起列出来 -A:列出全部的文件(连同隐藏文件,但不…

    系统运维 2016-12-11
  • 作业–文本处理工具

    1、找出ifconfig命令结果中本机的所有IPv4地址。 [root@liang ~]# ifconfig        #centos6下 eth0      Link encap:Et…

    Linux干货 2016-08-10
  • rsyslog同步history日志

    前言   由于公司业务是由公司内部开人员及外包团队共同开发,所以需要使用rsyslog对history日志做收集、审计。虽然搭建及配置非常简单,但是在日常运维工作中很实用,所以记录下,方便日后快速搭建。如果有错误,望大神指正。 syslog简介 syslog是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/sysl…

    Linux干货 2015-04-03

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-14 08:39

    整体使用两种风格,贴图+markdown。能全部使用markdown的方式会更好~加油~