第三天作业

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

[root@localhost ~]# who | cut -d ' ' -f1 | sort | uniq

[root@localhost ~]# who

(unknown) :0           2016-08-29 08:28 (:0)

root     pts/0        2016-08-29 08:36 (192.168.12.1)

root     pts/1        2016-08-29 09:12 (192.168.12.1)

[root@localhost ~]# who | cut -d ' ' -f1

(unknown)

root

root

[root@localhost ~]# who | cut -d ' ' -f1 | sort

root

root

(unknown)

[root@localhost ~]# who | cut -d ' ' -f1 | sort | uniq

root

(unknown)

[root@localhost ~]# 

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

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

uid=1000(ttxsjh) gid=1000(ttxsjh) 组=1000(ttxsjh),10(wheel)

[root@localhost ~]# 

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

[root@localhost ~]# cat /etc/passwd | cut -d':' -f7 | tail -1

/bin/bash

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

[root@localhost ~]# cat /etc/passwd | sort -t ':' -k 3n | tail -10 | tr a-z A-Z > /tmp/maxusers.txt

[root@localhost ~]# cat /tmp/maxusers.txt 

USER2:X:2019:2019::/HOME/USER2:/BIN/BASH

USER9:X:2020:2020::/HOME/USER9:/BIN/BASH

USER10:X:2021:2021::/HOME/USER10:/BIN/BASH

USER112:X:2022:2022::/HOME/USER112:/BIN/BASH

USER14:X:2023:2023::/HOME/USER14:/BIN/BASH

USER15:X:2024:2024::/HOME/USER15:/BIN/BASH

USER20:X:2025:2025::/HOME/USER20:/BIN/BASH

USER18:X:2026:2026::/HOME/USER18:/BIN/BASH

USER19:X:2027:2027::/HOME/USER19:/BIN/BASH

NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN

[root@localhost ~]# 

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

[root@localhost ~]# ifconfig  | cut -d ' ' -f10 | grep "[.]" 

192.168.12.11

127.0.0.1

[root@localhost ~]#

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

[root@localhost ~]# ls -a /etc/*.conf | tr a-z A-Z > /tmp/etc.conf

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

[root@localhost ~]# ls -l /var | wc -l

31

[root@localhost ~]# 

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

[root@localhost ~]# cat /etc/group | sort -t ':' -k 3n | head -10 | cut -d':' -f1

root

bin

daemon

sys

adm

tty

disk

lp

mem

kmem

[root@localhost ~]# 

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

[root@localhost ~]# cat /etc/fstab  /etc/issue > /tmp/etc.test


10、用户和组命令描述

  用户和组文件描述

   /etc/passwd 用户信息库

     name:password:UID:GID:GECOS:directory:shell

     name:用户名、password:密码占位符、UID、GID:用户基本组ID、GECOS:用户描述信息、directory:用户的家目录、shell:用户默认shell

              

   /etc/shadow 用户密码文件

     centos:$6$jOzyjCBk$XmsBHJjmRL095pTsH6hc3onGHiIzym.:16974:0:99999:7:::

     centos:登录名、$6$jOzyjCBk$XmsBHJjmRL095pTsH6hc3onGHiIzym:加密了的密码、16974:最后一次更改密码的日期、0:密码的最小年龄、99999:最大密码年龄、7:密码警告时间段、密码禁用期、账户过期日期、保留字段

   /etc/group 组的信息库

   group_name:password:GID:user_list

   group_name:组名、password:组密码:GID、user_list:该组的用户成员,以此组为附加组的用户的用户的列表

           

   /etc/gshadow:组的密码文件

   user3:!::

   user3:组名、!:密码占位符、管理员、成员

 用户和组命令描述

     useradd 添加用户

         -u, –uidUID          指定UID

         -g, –gidGROUP         指定GID,组名必须事先存在

         -G, –groupsGROUP1[,GROUP2,…[,GROUPN]]]  指定附加组,默认用户只属于初始组,

-a 和-G联合使用 追加新的附加组

         -a, –append          将用户添加到附加组。只能和 -G 选项一起使用

         -d, –home  HOME_DIR    修改家目录和,默认不复制原有家目录类容和-m联合使用用于将原有文件移动到新的家目录

         -s, –shell SHELL       指定SHELL

         -L, –lock      锁定用户密码;-U –unlock  解锁用户的密码

         -c, –comment COMMENT    修改注释信息

         -r, –system          创建系统账号

         -f, –inactiveINACTIVE   密码过期后,账户被彻底禁用之前的天数。0 表示立即禁用,-1 表示禁用这个功能

    userdel – 删除用户账户和相关文件

         -f, –force           强制删除用户账户

        -r, –remove           删除用户的家目录,默认不删除

    usermod – 修改一个用户账户

         -a, –append          将用户添加到附加组。只能和 -G 选项一起使用

         -u, –uidUID          修改UID

         -g, –gidGROUP         修改GID

         -f, –inactiveINACTIV    密码过期之后,账户被彻底禁用之前的天数,0 表示密码过期时,立即禁用账户;-1 表示不使用这个功能

         -d, –homeHOME_DIR       修改家目录

         -m, –move-home         将用户的主目录移动到新位置。 这个选项只有和 -d (或 –home) 选项组合使用时才有效   

         -s, –shellSHELL        用户的新登录 shell 的名称

         -U, –unlock           解锁用户的密码

         -L, –lock            锁定用户的密码

     groupadd 添加组

         -g GID              指定GID    默认是上一个组的GID+1

         -r                 创建系统组,每一个进程在运行的时候都是以一个用户的身份在运行。开机就运行的程序以系统用户的身份在运行,为了能够让那些后台进程或服务类进程以非管理员的身份运行,通常还需要为此创建多个普通用户,这类用户从不用登陆系统。

     groupdel  删除组

         groupdel [选项] GROUP

     groupmod 修改组属性

         groupmod [选项] GROUP

         -g GID               修改GID

         -n  new_name          修改组名

     passwd 修改用户密码

        passwd  不带任何参数 修改自己的密码

        passwd USERNAME 修改指定用户的密码;只有管理员root有此权限

              -l ,-u              锁定和解锁用户密码

              -d                  清除用户密码串

              -e  DATE             过期期限,日期

              -i   DAYS            非活动期限

              -n  DAYS             密码的最短使用期限

              -x  DAYS             密码最长使用期限             

              -w DAYS              警告时间

              –stdin              echo"PASSWORD" | passwd –stdin USERNAME

     gpasswd  给组添加密码 不带参数默认给自己添加密码

              -a USERNAME            向组中添加用户

              -d USERNAME            向组中删除密码

     id  显示用户的实际和有效ID

              id [OPTION]… [USER]

             不带任何参数表示显示自己

              -u   显示UID

              -g   仅显示用户基本组ID

              -G  显示用户所属组的所有组ID

              -n   显示名称

     su  switch user 切换用户

      登录式切换           会通过读取目标用户的配置文件来重新初始化

             su – USERNAME

             su -l USERNAME

      非登录式切换       不会通过读取目标用户的配置文件来重新初始化

             su USERNAME

  注意:管理员切换到任何用户时无需密码。

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

[root@localhost ~]# groupadd -g 2016 distro

[root@localhost ~]# cat /etc/group | grep "2016"

distro:x:2016:

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

[root@localhost ~]# useradd -u 1005 -g distro mandriva

[root@localhost ~]# id mandriva

uid=1005(mandriva) gid=2016(distro) 组=2016(distro)

[root@localhost ~]#

    (3) 创建用户magedia 其ID为1100 家目录为/home/linux

[root@localhost ~]# useradd -u 1100 -d /home/linux mageia

[root@localhost ~]# cat /etc/passwd | grep "mageia"

mageia:x:1100:1100::/home/linux:/bin/bash

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

[root@localhost ~]# passwd mageia

更改用户 mageia 的密码 。

新的 密码:

无效的密码: 密码少于 8 个字符

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

[ttxsjh@localhost ~]$ su – mageia

密码:

上一次登录:一 8月 29 21:21:10 CST 2016pts/0 上

[mageia@localhost ~]$ 

    (5)删除用户mandriva,但保留其加目录

[root@localhost ~]# userdel mandriva

[root@localhost ~]# ls /home/ | grep "mandriva"

mandriva

[root@localhost ~]# 

    (6) 创建用户slackware 其ID为2002,基本组为ditro,附件组peguin

[root@localhost ~]# groupadd peguin

[root@localhost ~]# useradd -u 2002 -g distro -G peguin slackware

[root@localhost ~]# cat /etc/passwd | grep "slackware"

slackware:x:2002:2016::/home/slackware:/bin/bash

[root@localhost ~]# cat /etc/group | grep "peguin"

peguin:x:3006:slackware

[root@localhost ~]# cat /etc/group | grep "slackware"

peguin:x:3006:slackware

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

[root@localhost ~]# usermod -s /bin/tcsh slackware

[root@localhost ~]# cat /etc/passwd | grep "slackware"

slackware:x:2002:2016::/home/slackware:/bin/tcsh

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

[root@localhost ~]# usermod -aG admins slackware

[root@localhost ~]# cat /etc/group | grep "slackware"

peguin:x:3006:slackware

admins:x:3007:slackware

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

[root@localhost ~]# chage slackware 

正在为 slackware 修改年龄信息

请输入新值,或直接敲回车键以使用默认值

最小密码年龄 [0]: 3

最大密码年龄 [99999]: 180

最近一次密码修改时间 (YYYY-MM-DD) [2016-08-29]: 

密码过期警告 [7]: 3

密码失效 [-1]: 

帐户过期时间 (YYYY-MM-DD) [-1]:

[root@localhost ~]# cat /etc/shadow | grep "slackware"

slackware:!!:17042:3:180:3:::

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

[root@localhost ~]# useradd -u 3003 -g clouds -G peguid,nova openstack

[root@localhost ~]# id openstack

uid=3003(openstack) gid=3010(clouds) 组=3010(clouds),3008(peguid),3009(nova)

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

[root@localhost ~]# useradd -r mysql -s /bin/nologin

[root@localhost ~]# id mysql

uid=991(mysql) gid=989(mysql) 组=989(mysql)

[root@localhost ~]# cat /etc/passwd | grep "mysql"

mysql:x:991:989::/home/mysql:/bin/nologin

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

[root@localhost ~]# echo "openstack" | passwd –stdin openstack

更改用户 openstack 的密码 。

passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]#

                    

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

(0)
ttxsjhttxsjh
上一篇 2016-08-30
下一篇 2016-08-30

相关推荐

  • N25第十周博客作业

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情)        (1)post:加电自检                主要是bios完成,检查主机各个组件是否完好,能否达到运行要求;    &…

    Linux干货 2017-03-10
  • 网络与进程管理相关命令使用

    网络管理之netstat命令 netstat     -print network connections,routing tables,interface statistics,masquerade connections and multicast memberships     netstat…

    Linux干货 2016-09-07
  • Linux程序包管理

      Linux的各个release版本开发商,在发布各种应用程序,以及一些团体发布应用程序时,通常会根据发布的程序所适应的开发语言,使用环境,预设参数等,事先编译完成一个可以在相应平台上安装的程序包供使用者直接使用,该程序包含有安装前(preinstall)操作系统环境检测的脚本,程序包中所有文件的相关信息,程序预定义的配置参数文件,程序…

    Linux干货 2016-11-30
  • varnish的基本配置

    主程序:varnish 配置文件: ·/etc/varnish/varnish.params—配置varnish服务进程的工作特性,例如监听的地址和端口,缓存机制; ·/etc/varnish/default.vcl—配置各Child/Cache线程的缓存工作属性; VCL状态引擎: 内建变量: ·req.*:request,表示由客…

    2017-08-08
  • 计算机和操作系统的一些概念

    一、计算机组成     (一) 硬件         CPU:运算器、控制器、寄存器、缓存器         存储器:主内存,RAM(Random Access…

    Linux干货 2016-08-15
  • 浅谈TCP三次握手和四次分手

          TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议提供可靠的连接服务,采用三次握手确认建立一个连接,比如我们去访问一个网站,从输入网址到页面显示我们所想要浏览的内容,这个过程其中就包含了小编要说的三次握手和四次挥手。 一、首先我们来了解…

    2017-09-02

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-13 23:07

    点一下第5题,可以使用精确的正则表达式来匹配IP,使用这种方法最佳哈。
    另外,排版上面需要再改善下。加油~