1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。
#思路:使用who命令列出列出當明顯登錄的所有用戶,使用cut命令取出用戶名,使用uniq命令去重 [root@Centos6 ~]# who | cut -d" " -f1 | uniq root
2、取出最后登錄到當前系統的用戶的相關信息。
#思路:使用w命列出所有登錄用戶,使用sort對登錄時間排序,并用cut命令取出用戶名,然后用head命令取第一個用戶,傳遞給id命令 [root@Centos6 ~]# id $(w | sort -t" " -k4 -n | cut -d" " -f1 |head -1) uid=0(root) gid=0(root) 組=0(root)
3、取出當前系統上被用戶當作其默認shell的最多的那個shell。
#思路:取出passwd上所有使用的shell名稱,使用uniq –c統計重復次數,按數值排序后取最大值 [root@Centos6 ~]# cut -d: -f7 /etc/passwd | uniq -c | sort -n | tail -1 21 /sbin/nologin
4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
#思路:將passwd文件按第三個字段排序,用tail取最后十行,使用tr 命令轉換大小寫,重定向保存么maxusers.txt文件 sort -t: -k3 /etc/passwd –n | tail -10 | tr a-z A-Z >/tmp/maxusers.txt
5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
#思路:ifconfig命令結果如下:對結果進行正規則表達式匹配,然后用cut命令切分,得到ip地址 [root@Centos6 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:A4:57:BC inet addr:192.168.50.177 Bcast:192.168.50.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fea4:57bc/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:230917 errors:0 dropped:0 overruns:0 frame:0 TX packets:175189 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:309476096 (295.1 MiB) TX bytes:15819665 (15.0 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:990 errors:0 dropped:0 overruns:0 frame:0 TX packets:990 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:333209 (325.3 KiB) TX bytes:333209 (325.3 KiB)
[root@Centos6 ~]# ifconfig | grep "inet addr" | cut -d: -f2| cut -d" " -f1 192.168.50.177 127.0.0.1
6、列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。
ls /etc/*.conf | tr a-z A-Z >/tmp/etc.conf
[root@Centos6 ~]# cat /tmp.etc.conf /ETC/ASOUND.CONF /ETC/AUTOFS_LDAP_AUTH.CONF /ETC/CAS.CONF /ETC/CGCONFIG.CONF /ETC/CGRULES.CONF /ETC/CGSNAPSHOT_BLACKLIST.CONF /ETC/DRACUT.CONF /ETC/ELINKS.CONF /ETC/FPRINTD.CONF /ETC/GAI.CONF
7、顯示/var目錄下一級子目錄或文件的總個數。
[root@Centos6 ~]# ls /var | wc -l 19
8、取出/etc/group文件中第三個字段數值最小的10個組的名字。
#思路:先按第三個字段排序,取前十行,然后用cut命令取出組名 sort -t: -k3 -n /etc/group | head -10 | cut -d: -f1 [root@Centos6 ~]# sort -t: -k3 -n /etc/group | head -10 | cut -d: -f1 root bin daemon sys adm tty disk lp mem kmem
9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。
cat /etc/fstab /etc/issue >/tmp/etc.test
10、請總結描述用戶和組管理類命令的使用方法并完成以下練習:
(1)、創建組distro,其GID為2016; group distro –G 2016
(2)、創建用戶mandriva, 其ID號為1005;基本組為distro; useradd mandriva -u 1005 -g distro
(3)、創建用戶mageia,其ID號為1100,家目錄為/home/linux; useradd mageia –u 1100 –d /home/linux
(4)、給用戶mageia添加密碼,密碼為mageedu; echo “mageedu” | passwd –stdin mageia
(5)、刪除mandriva,但保留其家目錄; userdel mandriva
(6)、創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin; useradd slackware -u 2002 -g distro -G peguin
(7)、修改slackware的默認shell為/bin/tcsh; [root@Centos6 ~]# chsh test #Changing shell for test. New shell [/bin/bash]: /bin/tcsh #Shell changed.
(8)、為用戶slackware新增附加組admins; usermod –G admins slackware
(9)、為slackware添加密碼,且要求密碼最短使用期限為3天,最長為180天,警告為3天; echo “centos”| passwd –stdin slackware [root@Centos6 ~]# passwd -n 3 -x 180 -w 3 slackware 調整用戶密碼老化數據slackware。 passwd: 操作成功
(10)、添加用戶openstack,其ID號為3003, 基本組為clouds,附加組為peguin和nova; useradd openstack–u 3002 –g clouds –G peguin,nova
(11)、添加系統用戶mysql,要求其shell為/sbin/nologin; useradd mysql -s /sbin/nologin
(12)、使用echo命令,非交互式為openstack添加密碼。 echo “centos”| passwd –stdin openstack
原創文章,作者:N21-沉舟,如若轉載,請注明出處:http://www.www58058.com/22672
寫的很好,排版也很棒,加油