1、列出當前系統上所有已經登錄的用戶的用戶名,註意:同一個用戶登錄多次,則只顯示一次即可。 2、取出最後登錄到當前系統的用戶的相關信息。 3、取出當前系統上被用戶當作其預設shell的最多的那個shell。 4、將/etc/passwd中的第三個欄位數值最大的後10個用戶的信息全部改為大寫後保存至/ ...
1、列出當前系統上所有已經登錄的用戶的用戶名,註意:同一個用戶登錄多次,則只顯示一次即可。
1 who | cut -d" " -f1 | sort -u 2 或 3 who | cut -d" " -f1 | uniq
2、取出最後登錄到當前系統的用戶的相關信息。
1 w | tail -1 2 或 3 last -1
3、取出當前系統上被用戶當作其預設shell的最多的那個shell。
1 cat /etc/passwd | cut -d":" -f7 | sort | uniq -c | sort -n | tail -1
4、將/etc/passwd中的第三個欄位數值最大的後10個用戶的信息全部改為大寫後保存至/tmp/maxusers.txt文件中。
1 sort -t':' -k3 -n /etc/passwd | tail -10 | tr 'a-z' 'A-Z' | tee /tmp/maxusers.txt 2 或 3 sort -t':' -k3 -n /etc/passwd | tail -10 | tr 'a-z' 'A-Z' > /tmp/maxusers.txt
5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
1 ifconfig | cut -d' ' -f10 | head -2 | tr -d '\n' 2 或 3 ifconfig | cut -d' ' -f10 | head -2 | tail -1 4 或 5 ip addr | cut -d' ' -f6 | head -9 | tail -1
6、列出/etc目錄下所有以.conf結尾的文件的文件名,並將其名字轉換為大寫後保存至/tmp/etc.conf文件中。
1 ls /etc/*.conf | tr 'a-z' 'A-Z' | tee /tmp/etc.conf
7、顯示/var目錄下一級子目錄或文件的總個數。
1 find /var | wc -l
8、取出/etc/group文件中第三個欄位數值最小的10個組的名字。
1 sort -t":" -k3 -n /etc/group | head -10 | cut -d":" -f1
9、將/etc/fstab和/etc/issue文件的內容合併為同一個內容後保存至/tmp/etc.test文件中。
1 cat /etc/{fstab,issue} > /tmp/etc.test
10、請總結描述用戶和組管理類命令的使用方法並完成以下練習:
用戶管理命令:
(1)useradd:創建用戶,useradd [選項] 用戶名
1 -u:指定UID(預設是上一個用戶的 UID+1) 2 -g:指定基本組(此組 事先必須存在) 3 -G:指定附加組,多個組之間用 逗號 分隔(組 事先必須存在) 4 -c:添加註釋信息 5 -d:以指定的目錄為用戶的家目錄(通過複製 /etc/skel 此目錄並重命名來實現用戶家目錄,如果 指定的目錄 事先存在,則不會複製) 6 -s:指定用戶的預設shell(可用的所有shell 存儲在 /etc/shells 文件中) 7 -r:創建系統用戶 8 -p:設置密碼(明文保存密碼,不用) 9 -M:不為用戶創建家目錄 10 -D:顯示創建用戶的預設配置 11 -D [選項]:修改創建用戶的預設配置(修改的結果保存在 /etc/default/useradd 文件中)
(2)usermod:修改用戶屬性,usermod [選項] 用戶名
1 -u:修改用戶的UID 2 -g:修改用戶的基本組(此組 事先必須存在) 3 -G:修改用戶的附加組,原有的附加組會給覆蓋(組 事先必須存在) 4 -a:與-G 一同使用,用於為用戶添加新的附加組 5 -c:修改註釋信息 6 -d:修改用戶的家目錄,用戶家目錄原有的文件不會被移動 7 -m:與-d 一同使用,用於將原有的家目錄文件移動到新的家目錄 8 -l:修改用戶名 9 -s:修改用戶的預設shell 10 -L:鎖定用戶密碼(通過在用戶原來的密碼字元串前添加一個“!”來達到禁止用戶登錄) 11 -U:解鎖用戶密碼
(3)userdel:刪除用戶,userdel [選項] 用戶名
1 -r:刪除用戶時一併刪除用戶的家目錄和郵箱(預設不刪除)
(4)passwd:
1 passwd:修改用戶自己的密碼 2 passwd 用戶名:修改指定用戶的密碼(僅root 有許可權操作) 3 -l,-u:鎖定和解鎖 用戶 4 -d:清除用戶密碼 5 -e:使用戶密碼過期(用戶下次登錄必須重設密碼) 6 -i 天數:密碼過期後的活動期限(僅root有許可權操作) 7 -n 天數:密碼的最短使用期限(僅root有許可權操作) 8 -x 天數:密碼的最長使用期限(僅root有許可權操作) 9 -w 天數:密碼過期前的警告期限(僅root有許可權操作) 10 --stdin:(echo "密碼" | passwd --stdin 用戶名,給用戶設置密碼)
(5)id:顯示用戶信息,id [選項] 用戶名
1 -u:僅顯示uid 2 -g:僅顯示gid 3 -G:顯示用戶所屬的所有組的ID
(6)su:切換用戶,su [選項] 用戶名
1 -c 命令:以指定用戶的身份運行命令 2 登錄式切換:重新讀取目標用戶的配置文件來進行初始化—su - 用戶名 或 su -l 用戶名 3 非登錄式切換:不讀取目標用戶的配置文件—su 用戶名
組管理命令:
(1)groupadd:添加組,groupadd [選項] 組名
1 -g:指定GID(預設是上一個組的 GID+1) 2 -r:創建系統組
(2)groupmod:修改組屬性,groupmod [選項] 組名
1 -g:修改GID 2 -n:修改組名
(3)groupdel:刪除組,groupdel [選項] 組名
(4)gpasswd:給組添加密碼,gpasswd [選項] 組名
1 -a 用戶名:向組中添加用戶 2 -d 用戶名:從組中移除用戶 3 -r:刪除密碼 4 -A:指定組的管理員
(5)newgrp:臨時切換用戶的基本組,newgrp [-] 組名
1 -:會模擬用戶登錄以實現重新初始化工作環境
練習:
(1)創建組distro,其GID為2016;
1 groupadd -g 2016 distro
(2)創建用戶mandriva, 其ID號為1005;基本組為distro;
1 useradd -u 1005 -g distro mandriva
(3)創建用戶mageia,其ID號為1100,家目錄為/home/linux;
1 useradd -u 1100 -d /home/linux mageia
(4)給用戶mageia添加密碼,密碼為mageedu;
1 echo "mageedu" | passwd --stdin mageia
(5)刪除mandriva,但保留其家目錄;
1 userdel mandriva
(6)創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin;
1 usergroup peguin 2 useradd -u 2002 -g distro -G peguin slackware
(7)修改slackware的預設shell為/bin/tcsh;
1 usermod -s /bin/tcsh slackware
(8)為用戶slackware新增附加組admins。
1 groupadd admins 2 usermod -aG admins slackware