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,其GID为2016;
[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,附加组为peguin和nova;
[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:所有的身份验证令牌已经成功更新。