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
下一篇 2016-09-06

相关推荐

  • 2016/10/14作业

    操作类: 1、设置自己的终端提示符,要求终端登陆时:     a> 需要带颜色      b> 需要显示当前执行到了第几条命令      c> 显示当前登录终端,主机名和当前时间 首先我们要了解一个环境…

    Linux干货 2016-10-19
  • Linux中软链接和硬链接的区别

    Linux中软链接和硬链接的区别 链接文件:   Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。 Inode 文件除了纯数据本身之外,还必须包含有对这些纯数据的管理信息 文件名; 访问权限; 文件的属主以; 该文件的数据所对应的磁盘数据块; 文件的时间戳; …

    Linux干货 2016-10-20
  • N26-博客作业-week10

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 2、为运行于虚拟机上的CentOS 6添加一块新硬件,提供两个主分区;  (1) 为硬盘新建两个主分区;并为其安装grub;  (2) 为硬盘的第一个主分区提供内核和ramdisk文件; 为第二个分区提供rootfs;  (3) 为rootfs提供bas…

    2017-04-09
  • Linux进程及作业管理

    process 运行中的程序的一个副本,是被载入内存的一个指令集合 进程ID(Process ID,PID)号码被用来标记各个进程 UID、GID、和SELinux语境决定对文件系统的存取和访问权限, 通常从执行进程的用户来继承 存在生命周期 task struct:Linux内核存储进程信息的数据结构格式 task list:…

    Linux干货 2016-09-11
  • 软链接和硬链接的区别

    Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。 硬链接 硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种…

    Linux干货 2016-10-29
  • 开始学习总结的一些基本知识点

       第一VNC软件(面授班课堂用的),这款软件采用C/S架构(client/sever客户端和服务器端)还有VNC协议(virtual Network computing虚拟网络计算)协议。虽说这款软件对网络班没有实际用途,但自己了解下这款软件的构成也是不错的。    第二开始学习需要的虚拟机软件其中包括VMWARE…

    Linux干货 2016-10-29

评论列表(1条)

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

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