N25-Bazinga-第三周作业
1.列出当前系统上登录的所有用户的用户名,注意:同一个用户登录多次,则只显示一次即可。
[root@localhost ~]# w | cut -d' ' -f1 | uniq -c | cut -d' ' -f8 USER root
2.取出最后登录到当前系统的用户的相关信息
[root@localhost ~]# last -1 root pts/0 192.168.61.1 Wed Dec 21 08:15 still logged in wtmp begins Fri Dec 16 11:31:10 2016
3.取出当前系统上被用户当作其默认shell的最多的那个shell。
[root@localhost ~]# cat /etc/passwd | cut -d: -f7 | uniq -c | sort -n -r | head -1 | cut -d' ' -f7 /sbin/nologin
4.将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中.
[root@localhost ~]# cat /etc/passwd | sort -n -t: -k3 | tail -10 | tr [a-z] [A-Z] > /tmp/maxusers.txt [root@localhost ~]# cat /tmp/maxusers.txt FTP:X:14:50:FTP USER:/VAR/FTP:/SBIN/NOLOGIN TSS:X:59:59:ACCOUNT USED BY THE TROUSERS PACKAGE TO SANDBOX THE TCSD DAEMON:/DEV/NULL:/SBIN/NOLOGIN SSHD:X:74:74:PRIVILEGE-SEPARATED SSH:/VAR/EMPTY/SSHD:/SBIN/NOLOGIN DBUS:X:81:81:SYSTEM MESSAGE BUS:/:/SBIN/NOLOGIN POSTFIX:X:89:89::/VAR/SPOOL/POSTFIX:/SBIN/NOLOGIN NOBODY:X:99:99:NOBODY:/:/SBIN/NOLOGIN AVAHI-AUTOIPD:X:170:170:AVAHI IPV4LL STACK:/VAR/LIB/AVAHI-AUTOIPD:/SBIN/NOLOGIN POLKITD:X:997:995:USER FOR POLKITD:/:/SBIN/NOLOGIN SYSTEMD-NETWORK:X:998:996:SYSTEMD NETWORK MANAGEMENT:/:/SBIN/NOLOGIN SYSTEMD-BUS-PROXY:X:999:997:SYSTEMD BUS PROXY:/:/SBIN/NOLOGIN
5.取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
[root@localhost ~]# ifconfig eno16777736 | cut -d: -f2 | head -2 | tail -1 | cut -d' ' -f10 192.168.61.130 [root@localhost ~]# ifconfig | grep "inet\>" |cut -d' ' -f10 | head -1 192.168.61.130 [root@localhost ~]# ifconfig | grep "inet\>" | head -1 | awk '{print $2}' 192.168.61.130
6.列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
[root@localhost ~]# ll /etc/*.conf | tr [a-z] [A-Z] > /tmp/etc.conf [root@localhost ~]# [root@localhost ~]# cat /tmp/etc.conf -RW-R--R--. 1 ROOT ROOT 55 3月 6 2015 /ETC/ASOUND.CONF -RW-R--R--. 1 ROOT ROOT 1133 12月 16 11:30 /ETC/CHRONY.CONF -RW-R--R--. 1 ROOT ROOT 25213 8月 6 2015 /ETC/DNSMASQ.CONF -RW-R--R--. 1 ROOT ROOT 1285 11月 20 2015 /ETC/DRACUT.CONF -RW-R--R--. 1 ROOT ROOT 112 3月 6 2015 /ETC/E2FSCK.CONF -RW-R--R--. 1 ROOT ROOT 9 6月 7 2013 /ETC/HOST.CONF -RW-R--R--. 1 ROOT ROOT 7156 12月 16 11:27 /ETC/KDUMP.CONF -RW-R--R--. 1 ROOT ROOT 495 11月 20 2015 /ETC/KRB5.CONF -RW-R--R--. 1 ROOT ROOT 28 2月 28 2013 /ETC/LD.SO.CONF -RW-R-----. 1 ROOT ROOT 191 10月 29 2014 /ETC/LIBAUDIT.CONF -RW-R--R--. 1 ROOT ROOT 2391 10月 13 2013 /ETC/LIBUSER.CONF -RW-R--R--. 1 ROOT ROOT 19 12月 16 11:30 /ETC/LOCALE.CONF -RW-R--R--. 1 ROOT ROOT 662 7月 31 2013 /ETC/LOGROTATE.CONF -RW-R--R--. 1 ROOT ROOT 5171 6月 10 2014 /ETC/MAN_DB.CONF -RW-R--R--. 1 ROOT ROOT 936 3月 6 2015 /ETC/MKE2FS.CONF -RW-R--R--. 1 ROOT ROOT 1717 12月 16 11:30 /ETC/NSSWITCH.CONF -RW-R--R--. 1 ROOT ROOT 1968 12月 16 11:30 /ETC/NTP.CONF -RW-R--R--. 1 ROOT ROOT 73 12月 16 11:31 /ETC/RESOLV.CONF -RW-R--R--. 1 ROOT ROOT 3232 9月 8 2015 /ETC/RSYSLOG.CONF -RW-R--R--. 1 ROOT ROOT 216 11月 20 2015 /ETC/SESTATUS.CONF -RW-R-----. 1 ROOT ROOT 1786 9月 25 2012 /ETC/SUDO.CONF -RW-R-----. 1 ROOT ROOT 3181 7月 25 2013 /ETC/SUDO-LDAP.CONF -RW-R--R--. 1 ROOT ROOT 225 11月 20 2015 /ETC/SYSCTL.CONF -RW-------. 1 TSS TSS 7046 11月 21 2015 /ETC/TCSD.CONF -RW-R--R--. 1 ROOT ROOT 37 12月 16 11:30 /ETC/VCONSOLE.CONF -RW-R--R--. 1 ROOT ROOT 970 12月 3 2015 /ETC/YUM.CONF
7.显示/var目录下一级子目录或文件的总个数。
[root@localhost ~]# ll -d /var/* |wc -l 20
8.取出/etc/group文件中第三个字段数值最小的10个组的名字.
[root@localhost ~]# sort -t: -k3 -n /etc/group | cut -d: -f1 | head -10 root bin daemon sys adm tty disk lp mem kmem
9.将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
[root@localhost ~]# cat /etc/fstab /etc/issue > /tmp/etc.test [root@localhost ~]# cat /tmp/etc.test # # /etc/fstab # Created by anaconda on Fri Dec 16 11:25:47 2016 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 0 0 UUID=879e255d-be9e-4b83-b01a-345c4d87ff20 /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 \S Kernel \r on an \m
10.请总结描述用户和组管理类命令的使用方法并完成以下练习:
1.创建组distro,其GID为2016; [root@localhost ~]# groupadd -g 2016 distro [root@localhost ~]# tail -f /etc/group systemd-bus-proxy:x:997: systemd-network:x:996: dbus:x:81: polkitd:x:995: dip:x:40: tss:x:59: postdrop:x:90: postfix:x:89: sshd:x:74: distro:x:2016: 2.创建用户mandriva, 其ID号为1005;基本组为distro; [root@localhost ~]# useradd mandriva -u 1005 -gdistro [root@localhost ~]# grep "^mandriva" /etc/passwd mandriva:x:1005:2016::/home/mandriva:/bin/bash 3.创建用户mageia,其ID号为1100,家目录为/home/linux; [root@localhost ~]# useradd mageia -u 1100 -d /home/linux [root@localhost ~]# grep "^mageia" /etc/passwd mageia:x:1100:1100::/home/linux:/bin/bash 4.给用户mageia添加密码,密码为mageedu; [root@localhost ~]# echo "mageedu" | passwd --stdin mageia 更改用户 mageia 的密码 。 passwd:所有的身份验证令牌已经成功更新。 5.删除mandriva,但保留其家目录; [root@localhost ~]# userdel mandriva [root@localhost ~]# ll -ld /home/linux/ drwx------. 2 mageia mageia 59 12月 21 09:34 /home/linux/ 6.创建用户slackware,其ID号为2002,基本组为distro,附加组peguin; [root@localhost ~]# groupadd peguin [root@localhost ~]# useradd slackware -u 2002 -g distro -G peguin root@localhost ~]# grep "slackware" /etc/passwd slackware:x:2002:2016::/home/slackware:/bin/bash [root@localhost ~]# grep "slackware" /etc/group peguin:x:2017:slackware 7.修改slackware的默认shell为/bin/tcsh; [root@localhost ~]# usermod slackware -s /bin/tcsh [root@localhost ~]# grep "slackware" /etc/passwd slackware:x:2002:2016::/home/slackware:/bin/tcsh 8.为用户slackware新增附加组admins; [root@localhost ~]# usermod -aG admins slackware [root@localhost ~]# tail -1 /etc/group admins:x:2018:slackware 9.为slackware添加密码,且要求密码最短使用期限为3天,最长为180天,警告为3天; [root@localhost ~]# passwd -n 3 -x 180 -w 3 slackware 调整用户密码老化数据slackware。 passwd: 操作成功 10.添加用户openstack,其ID号为3003, 基本组为clouds,附加组为peguin和nova; [root@localhost ~]# groupadd clouds [root@localhost ~]# groupadd nova [root@localhost ~]# useradd -u 3003 -g clouds -G peguin,nova openstack [root@localhost ~]# tail -1 /etc/passwd openstack:x:3003:2019::/home/openstack:/bin/bash [root@localhost ~]# tail -4 /etc/group peguin:x:2017:slackware,openstack admins:x:2018:slackware clouds:x:2019: nova:x:2020:openstack 11.添加系统用户mysql,要求其shell为/sbin/nologin; [root@localhost ~]# useradd mysql -s /sbin/nologin [root@localhost ~]# tail -1 /etc/passwd mysql:x:3004:3004::/home/mysql:/sbin/nologin 12.使用echo命令,非交互式为openstack添加密码。 root@localhost ~]# echo "openstack" | passwd --stdin openstack 更改用户 openstack 的密码 。 passwd:所有的身份验证令牌已经成功更新。
原创文章,作者:oranix,如若转载,请注明出处:http://www.178linux.com/64393