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

 

[root@centos ~]#w |cut -d" " -f1 |grep -v '^$'|grep -v 'USER'|sort -u

ll

lxj

root

VM

 

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

 

[root@centos ~]#w |tail -n 1

root     pts/4   192.168.0.111    22:34    2.00s 0.14s  0.01s w

 

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

 

[root@centos ~]#cut /etc/passwd -d: -f7 |grep sh$ |sort -t \/ -k 2 |uniq -c |sort -t"" -n |tail -n 1 | cut -d" " -f8

/bin/bash

 

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

 

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

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

POLKITD:X:997:996:USER FORPOLKITD:/:/SBIN/NOLOGIN

SYSTEMD-NETWORK:X:998:997:SYSTEMD NETWORKMANAGEMENT:/:/SBIN/NOLOGIN

SYSTEMD-BUS-PROXY:X:999:998:SYSTEMD        BUS ROXY:/:/SBIN/NOLOGINLXJ:X:1000:1000:LXJ:/HOME/LXJ:/BIN/BASH

LL:X:1001:1001::/HOME/LL:/BIN/BASH

MAGEIA:X:1100:1100::/HOME/LINUX:/BIN/BASH

ABCD:X:1101:1101::/HOME/ABCD:/BIN/BASH

SLACKWARE:X:2002:2016::/HOME/SLACKWARE:/BIN/TCSH

OPENSTACK:X:3003:2019::/HOME/OPENSTACK:/BIN/BASH

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

 

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

 

[root@centos ~]#ifconfig | grep inet |cut -d" " -f10

192.168.0.115

fe80::20c:29ff:fec1:69d0

127.0.0.1

::1

192.168.122.1

 

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

 

[root@centos ~]#ls /etc |grep '\.conf'$ |tr 'a-z' 'A-Z' >/tmp/etc.conf

[root@centos ~]#cat /tmp/etc.conf

ASOUND.CONF

BRLTTY.CONF

CHRONY.CONF

DLEYNA-SERVER-SERVICE.CONF

DNSMASQ.CONF

DRACUT.CONF

E2FSCK.CONF

FPRINTD.CONF

FUSE.CONF

HBA.CONF

HOST.CONF

IDMAPD.CONF

IPSEC.CONF

KDUMP.CONF

KRB5.CONF

KSMTUNED.CONF

LD.SO.CONF

LFTP.CONF

LIBAUDIT.CONF

LIBUSER.CONF

LOCALE.CONF

LOGROTATE.CONF

MAN_DB.CONF

MKE2FS.CONF

MTOOLS.CONF

NFSMOUNT.CONF

NSSWITCH.CONF

NUMAD.CONF

ODDJOBD.CONF

PBM2PPA.CONF

PNM2PPA.CONF

RADVD.CONF

REQUEST-KEY.CONF

RESOLV.CONF

RSYNCD.CONF

RSYSLOG.CONF

SESTATUS.CONF

SOS.CONF

SUDO.CONF

SUDO-LDAP.CONF

SYSCTL.CONF

TCSD.CONF

UPDATEDB.CONF

USB_MODESWITCH.CONF

VCONSOLE.CONF

WVDIAL.CONF

YUM.CONF

 

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

 

[root@centos ~]#ls /var |wc -w

21

 

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

 

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

root

bin

daemon

sys

adm

tty

disk

lp

mem

kmem

 

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

 

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

[root@centos ~]#cat /tmp/etc.test

 

#

# /etc/fstab

# Created byanaconda on Sat Jul  9 05:52:48 2016

#

# Accessiblefilesystems, by reference, are maintained under '/dev/disk'

# See man pagesfstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

/dev/mapper/centos-root/                       xfs     defaults        0 0

UUID=0387aaa9-80d5-475c-a345-e0d5ae8b0559/boot                   xfs     defaults        0 0

/dev/mapper/centos-home/home                   xfs     defaults        0 0

/dev/mapper/centos-swapswap                    swap    defaults        0 0

\S

Kernel \r on an\m

 

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

 

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

    

    新增用户

    useradd  [option]  LOGIN

    

    新增组

    groupadd  [option]  GROUP_NAME

    

    修改用户帐户属性

    usermod  [option]  LOGIN

    

    增加或修改用户密码

    passwd  [option]  USER_NAME

    

    用户删除

    userdel  [option]  LOGIN

    

    修改组属性

    groupmod  [option]  GROUP_NAME

    

    组删除

    groupdel  GROUP

    

    增加或修改组密码

    gpasswd [option]  GROUP

    

    更改用户密码过期信息

    chage  [option] LOGIN  

 

   (1)、创建组distro,其GID2016

 

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

[root@centos ~]#tail -n 1 /etc/group

distro:x:2016:

 

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

 

[root@centos ~]#useradd mandrive -u 1005 -g distro

[root@centos ~]#id mandrive

uid=1005(mandrive)gid=2016(distro) =2016(distro)

 

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

 

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

[root@centos ~]#tail -n 1 /etc/passwd

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

 

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

 

[root@centos ~]#passwd mageia

更改用户 mageia 的密码

新的密码:

重新输入新的密码:

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

 

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

 

[root@centos ~]#userdel mandrive

[root@centos ~]#ls -a /home/mandrive

.  .. .bash_logout  .bash_profile  .bashrc .mozilla

 

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

 

[root@centos ~]#groupadd penguin

[root@centos ~]#useradd slackware -u 2002 -g distro -G penguin

[root@centos ~]#tail -n 1 /etc/passwd

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

[root@centos ~]#tail -n 1 /etc/group

penguin:x:2017:slackware

 

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

 

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

[root@centos ~]#tail -n 1 /etc/passwd

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

 

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

 

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

[root@centos ~]#tail -n 2 /etc/group

penguin:x:2017:slackware

admins:x:2018:slackware

 

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

 

[root@centos ~]#passwd slackware -n 3 -x 180 -w 3

调整用户密码老化数据slackware

passwd: 操作成功

[root@centos ~]#tail -n 1  /etc/shadow

slackware:!!:17033:3:180:3:::

 

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

 

[root@centos ~]#groupadd clouds

[root@centos ~]#groupadd nova

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

[root@centos ~]#tail -n 1 /etc/passwd

openstack:x:3003:2019::/home/openstack:/bin/bash

[root@centos ~]#tail -n 4 /etc/group

penguin:x:2017:slackware,openstack

admins:x:2018:slackware

clouds:x:2019:

nova:x:2020:openstack

 

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

 

[root@centos ~]#useradd -r mysql -s /sbin/nologin

[root@centos ~]#tail -n 1 /etc/passwd

mysql:x:988:983::/home/mysql:/sbin/nologin

 

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

[root@centos ~]# echo "1qaz2wsx" |passwd --stdin openstack

更改用户openstack 的密码

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