1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。
~]# who | cut -d' ' -f1| uniq -u
執行前的情況:
執行后的情況:
2、取出最后登錄到當前系統的用戶的相關信息。
~]# id $(who | tail -1|cut -d' ' -f1)
或者:
~]# grep "$(who|tail -1|cut -d' ' -f1)" /etc/passwd
3、取出當前系統上被用戶當作其默認shell的最多的那個shell。
~]# cut -d: -f7 /etc/passwd|sort|uniq -c| sort -n |tail -1|grep -E -o "[/].*"
4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
~]# sort -n -t: -k3 /etc/passwd | tail |tr 'a-z' 'A-Z' >/tmp/maxusers.txt
5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
~]# ifconfig eno16777736|grep -E -o "inet\>.*" | cut -d' ' -f 2
6、列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。
~]# ls /etc/*.conf | tr 'a-z' 'A-Z' >/tmp/etc.conf
7、顯示/var目錄下一級子目錄或文件的總個數。
~]#num1=$(tree -L 1 /var | tail -1 | grep -o "[[:digit:]]*" | head -1);\ num2=$(tree -L 1 /var | tail -1 | grep -o "[[:digit:]]*" | tail -1);sum=$[$num1+$num2];echo $sum
8、取出/etc/group文件中第三個字段數值最小的10個組的名字。
~]# sort -n -t: -k3 /etc/group| head |cut -d: -f1
9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。
~]# cat /etc/fstab /etc/issue >/tmp/etc.test
10、請總結描述用戶和組管理類命令的使用方法并完成以下練習:
用戶和組管理類命令的使用方法:
用戶的管理類有:useradd,usermod,userdel,passwd
組管理類有:groupadd,groupmod,groupdel,gpasswd
用戶:
useradd命令:
useradd [options] LOGIN -u UID :指定UID -g GROUP :指定基本組,此組得存在 -G GROUP1[,GROUP2...] :指明用戶所屬的附加組 -c COMMENT :指明注釋信息 -d HOME_DIR :以指定的路徑為用戶的家目錄。 -s SHELL :指定用戶的默認shell -r :創建系統用戶
usermod命令:
usermod [options] LOGIN -u UID:修改用戶的ID為此處指定的新UID -g GROUP:修改用戶所屬的基本組 -G GROUP1[,GROUP2...]:修改用戶所屬的附加組,原來的附加組會被覆蓋。 -a :與-G一同使用,用于為用戶追加新的附加組。 -c COMMENT:修改注釋信息 -d HOME_DIR:修改用戶的家目錄,用戶原有的文件不會被轉移至新位置。 -m :只能與-d一同使用,用于將原來的家目錄的移動為新的家目錄。 -l NEW_LOGIN:修改用戶名 -s SHELL:修改用戶的默認shell -L:鎖定用戶密碼 -U:解鎖用戶密碼
userdel命令:
userdel [OPTIONS] LOGIN -r:刪除用戶時,一并刪除其家目錄
passwd命令:
1、passwd:修改用戶自己的密碼。 2、passwd USERNAME:修改指定用戶的密碼,但僅root有此權限。 -l :鎖定用戶 -u :解鎖 -d :清楚用戶密碼串 -i DAYS:非活動期限 -n DAYS:密碼的最短使用期限 -x DAYS:密碼的最長使用期限 -w DAYS:警告期限 --stdin :非交互的修改密碼
組管理:
groupadd命令:
groupadd [OPTIONS] GROUP_NAME -g GID :指定GID,默認是上一個組的GID+1 -r :創建系統組
groupmod命令:
groupmod [OPTIONS] GROUP -g GID:修改GID -n NEW_NAME:修改組名
groupdel命令:
groupdel 組名
(1)、創建組distro,其GID為2016;
~]# groupadd -g 2016 distro
(2)、創建用戶mandriva, 其ID號為1005;基本組為distro;
~]# useradd -u 1005 -g distro mandriva
(3)、創建用戶mageia,其ID號為1100,家目錄為/home/linux;
~]# useradd -u 1100 -d /home/linux mageia
(4)、給用戶mageia添加密碼,密碼為mageedu;
~]# echo "mageedu" | passwd --stdin mageia
(5)、刪除mandriva,但保留其家目錄;
~]# userdel mandriva
(6)、創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin;
~]# useradd -u 2002 -g distro -G peguin slackware
(7)、修改slackware的默認shell為/bin/tcsh;
~]# usermod -s /bin/tcsh slackware
(8)、為用戶slackware新增附加組admins;
~]# usermod -a -G admins slackware
(9)、為slackware添加密碼,且要求密碼最短使用期限為3天,最長為180天,警告為3天;
~]# echo "password" | passwd --stdin slackware ; passwd -n3 -x 180 -w3 slackware
(10)、添加用戶openstack,其ID號為3003, 基本組為clouds,附加組為peguin和nova;
~]# useradd -u 3003 -g clouds -G peguin,nova openstack
(11)、添加系統用戶mysql,要求其shell為/sbin/nologin;
~]# useradd -r -s /sbin/nologin mysql
(12)、使用echo命令,非交互式為openstack添加密碼。
~]# echo "password" | passwd --stdin openstack
原創文章,作者:N22-成都-stephen,如若轉載,請注明出處:http://www.www58058.com/43508
整體使用兩種風格,貼圖+markdown。能全部使用markdown的方式會更好~加油~