第三天作业

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 15:49
下一篇 2016-08-30 15:50

相关推荐

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

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [xw@localhost ~]$ who | cut -d' ' -f1 | uniq xw root 2、取出最后登录到当前系统的用户的相关信息。 [xw…

    Linux干货 2016-09-01
  • Linux命令date命令详解

    在linux环境中,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便,下面是详细的使用说明和示例 在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便。 1.命令格式:date[参数]… [+格式] 2.命…

    2017-07-18
  • 菜鸟教你如何磁盘分区与创建文件系统以及挂载(1)

    何为磁盘分区,为什么要分区?    计算机中存放信息的主要的存储设备就是硬盘,但是硬盘不能直接使用,必须对硬盘进行分割,分割成的一块一块的硬盘区域就是磁盘分区。在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区和扩展分区。主分区是能够安装操作系统,能够进行计算机启动的分区,这样的分区可以直接格式化,然后安装系统,直接存放文件。 MBR分…

    Linux干货 2016-08-27
  • GRUB加密、修复和破解密码实战指南

    GRUB加密、修复和破解密码实战指南 GRUB(Boot Loader) 从系统启动流程可以得知,在BIOS读取相关信息之后,接下来是去第一个可以启动的设备当中的MBR中读取Boot Loader信息,Boot Loader提供具有菜单功能、直接加载内核信息,以及相关的控制权转交功能。所以说系统启动必须要有Boot Loader,然后才能去加载内核。 Boo…

    Linux干货 2016-09-19
  • 关于文件系统备份、交换分区挂载等–中

    dd命令:convert and copy a file 用法: dd if=/PATH/FROM/SRC of=/PATH/TO/DEST  bs=#:block size, 复制单元大小 count=#:复制多少个bs  of=file 写到所命名的文件而不是到标准…

    Linux干货 2016-08-29
  • 网络管理的相关命令

    今天要说的是有关网络的一些相关内容,主要介绍的有以下几点:网络的服务:Centos6/7中的常用命令,如何手动配置网络,路由表的相关内容,关于Bond(仅主机模式)网络接口的配置以及Bridge(桥接)的网络接口配置。 首先要说的是网络的服务: 1,Centos6/7的常用网络的命令: Centos6:禁用网卡:ifconfig 网卡名 down启用网卡:i…

    2017-09-07

评论列表(1条)

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

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