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

相关推荐

  • 正则表达式及其用法

    正则表达式及其用法 1.   什么是正则表达式 正则表达式是Global search REgular expression and Print out the line的缩写。是一类用字符所书写的模式,其中许多字符并不表示其字面意义,而是表达控制或通配等功能。 在Linux中,用正则表达式搜索文本的常用命令: grep: 使用基本正则表…

    Linux干货 2015-09-14
  • 磁盘管理及文件系统

    磁盘管理 本文将从以下几方面介绍 第一部分:磁盘管理 1、浅识Linux磁盘 2、常见命令 第二部分:文件系统管理 1、文件系统的创建 2、文件系统挂载 3、自动挂载配置文件 第一部分:磁盘管理 浅识Linux磁盘 对于Linux来说我们知道一切皆文件,同样在Linux中硬件设备在系统上会映射成相对应的文件,我们就像是在Windows看文件一样只要打开对应的…

    Linux干货 2017-08-15
  • 自我介绍

    个人简介     基本信息:     何秋雨,男,安徽人,22岁,初中学历 工作经验:     目前就职于南京的一家互联网公司做Java Web 开发,大概有一年半的工作经验。工作内容包括前端和Java后端两个部分。 个人爱好:   &nb…

    Linux干货 2016-08-08
  • Linux终端类型

    Linux中各种终端的解释 设备终端   键盘鼠标显示器 物理终端( /dev/console ) )   在Linux 系统中,计算机显示器通常被称为控制台终端(Console)。 虚拟终端(tty :teletypewriters, /dev/tty# # 为[1-6])   tty 可有n 个,Ctrl+Alt+…

    Linux干货 2016-10-13
  • 浅谈Nginx(二)—http下server配置

    浅谈Nginx(二)—http下server配置 此文介绍Nginx下的http模块,着重介绍http模块下的server服务 ——–依据”马哥教育”主讲人马永亮导师的上课笔记整理——- 目录  一. http相关的基本配置:     1)…

    系统运维 2017-02-07
  • 第一周

    1、描述计算机的组成与功能 计算器是由运算器,控制器,存储器,输入设备和输出设备五大部件组成;每一部件分别按要求执行特定的功能,具体功能如下: (1)运算器:完成各种算术运算和逻辑运算的装置,能进行加、减、乘、除等数学运算,也能作比较、判断、查找、逻辑运算等。 (2)控制器:控制器是计算机机指挥和控制其它各部分工作的中心,其工作过程和人的大脑指挥和控制人的各…

    Linux干货 2017-01-02

评论列表(1条)

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

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