用戶管理命令及應用練習
1、列出當前系統上所有已經登錄的用戶的用戶名,註意:同一個用戶登錄多次,則只顯示一次即可。
# who | cut -d‘ ‘ -f 1 | uniq
2、取出最後登錄到當前系統的用戶的相關信息。
# cat /etc/passwd | grep "^`last -1 | cut -d‘ ‘ -f1 | head -1`"
3、取出當前系統上被用戶當作其默認shell的最多的那個shell。
# cat /etc/passwd | cut -d: -f7 | uniq -c | sort -nr | head -1
4、將/etc/passwd中的第三個字段數值最大的後10個用戶的信息全部改為大寫後保存至/tmp/maxusers.txt文件中。
# cat /etc/passwd|sort -t‘:‘ -k3 -n|tail|tr [a-z] [A-Z] 2&>1/tmp/maxusers.txt
5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
# ifconfig eno16777736 | grep "\<inet\>" | cut -d‘ ‘ -f 10
6、列出/etc目錄下所有以.conf結尾的文件的文件名,並將其名字轉換為大寫後保存至/tmp/etc.conf文件中。
# ls /etc | grep -o ".*\.conf$" | tr [a-z] [A-Z] >>/tmp/etc.conf
7、顯示/var目錄下一級子目錄或文件的總個數。
# ls -a /var/ | wc -l
8、取出/etc/group文件中第三個字段數值最小的10個組的名字。
# cat /etc/group | sort -t‘:‘ -k 3 -n | head | cut -d‘:‘ -f1
9、將/etc/fstab和/etc/issue文件的內容合並為同一個內容後保存至/tmp/etc.test文件中。
# cat /etc/fstab /etc/issue >>/tmp/etc.test
10、請總結描述用戶和組管理類命令的使用方法並完成以下練習:
useradd:創建新用戶
useradd [選項] 登錄名 -u, --uid UID:指定UID; -g, --gid GROUP:指定基本組ID,此組得事先存在; -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用戶所屬的附加組,多個組之間用逗號分隔; -c, --comment COMMENT:指明註釋信息; -d, --home HOME_DIR:以指定的路徑為用戶的家目錄;通過復制/etc/skel此目錄並重命名實現;指定的家目錄路徑如果事先存在,則不會為用戶復制環境配置文件; -s, --shell SHELL:指定用戶的默認shell,可用的所有shell列表存儲在/etc/shells文件中; -r, --system:創建系統用戶; 示例: 1、創建UID為2222屬主為gentoo 附加組為root的test用戶 # useradd -u 2222 -g gentoo -G root test 2、創建用戶指定家目錄為/home/googhome,默認shell為sh的系統用戶test1 # useradd -r -d /home/goodhome -s /bin/sh
userdel:刪除用戶及相關文件
userdel [選項] 登錄
-r:刪除用戶時一並刪除其家目錄;
-f:強制刪除用戶,不論用戶是否登錄;
示例:
1、刪除用戶test,但保留家目錄
# userdel test
2、刪除用戶test1,並刪除家目錄,且不論用戶是否登錄
# userdel -fr test1
passwd:創建用戶密碼
(1) passwd:修改用戶自己的密碼;
(2) passwd USERNAME:修改指定用戶的密碼,但僅root有此權限;
-l, -u:鎖定和解鎖用戶;
-d:清除用戶密碼串;
-e DATE: 過期期限,日期;
-i DAYS:非活動期限;
-n DAYS:密碼的最短使用期限;
-x DAYS:密碼的最長使用期限;
-w DAYS:警告期限;
示例:
1、修改test用戶密碼為[email protected]
# passwd test
2、清除test1用戶的密碼,且設定新密碼最短使用期限為7天,最長試用期前為90天
# passwd test1 -d -n 7 -x 90
groupadd:創建新工作組
groupadd [選項] group_name
-g GID:指定GID;默認是上一個組的GID+1;
-r: 創建系統組;
示例:
1、創建組ID為2222的test系統組
# groupadd -r -g 2222 test
groupdel:刪除工作組
groupdel [選項] GROUP
示例:
1、刪除工作組test
# groupdel test
su:切換用戶身份
登錄式切換:會通過讀取目標用戶的配置文件來重新初始化
su - USERNAME
su -l USERNAME
非登錄式切換:不會讀取目標用戶的配置文件進行初始化
su USERNAME
註意:管理員可無密碼切換至其它任何用戶;
示例:
1、以非登錄式切換方式登錄賬戶test
# su test
2、以登錄切換方式登錄賬戶test1
# su - tets1
usermod:修改用戶
usermod [選項] 登錄
-u, --uid UID:修改用戶的ID為此處指定的新UID;
-g, --gid GROUP:修改用戶所屬的基本組;
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用戶所屬的附加組;原來的附加組會被覆蓋;
-a, --append:與-G一同使用,用於為用戶追加新的附加組;
-c, --comment COMMENT:修改註釋信息;
-d, --home HOME_DIR:修改用戶的家目錄;用戶原有的文件不會被轉移至新位置;
-m, --move-home:只能與-d選項一同使用,用於將原來的家目錄移動為新的家目錄;
-l, --login NEW_LOGIN:修改用戶名;
-s, --shell SHELL:修改用戶的默認shell;
-L, --lock:鎖定用戶密碼;即在用戶原來的密碼字符串之前添加一個"!";
-U, --unlock:解鎖用戶的密碼;
示例:
1、修改test用戶的UID為3333,並增加test1的附加組且原有附加組不變
# usermod -u 3333 -aG tets1
chfn:改變用戶finger信息
chfn [選項] [參數]
-f: 設置全名
-o:辦公地址
-p:辦公電話
-h:住宅電話
示例:
設置test用戶全名為[email protected]
~# chfn -f tets [email protected]
-
chsh:改變用戶的登錄shell
chsh[選項][參數] -l:顯示系統支持的shell -s:指定新的shell 示例: 設置新的shell為sh chsh -s /bin/sh
-
finger:查詢用戶信息
finger:[選項][參數] -s:顯示用戶的信息 -l:多行方式顯示用戶信息
-
gpasswd:工作組文件管理公戶
組密碼文件:/etc/gshadow gpasswd [選項] group -a USERNAME:向組中添加用戶 -d USERNAME:從組中移除用戶
-
groupmod:修改工作組信息
groupmod [選項] GROUP -g GID:修改GID; -n new_name:修改組名;
-
newuesrs:批量創建用戶
newuesrs[參數] 參數指包含用戶信息的文本文件,且格式與“/etc/passwd”相同
-
chpasswd:批量更新密碼
chpasswd:[選項] 以交互式方式修改用戶密碼,且默認密碼為明文 -e:加密密碼 -m:以MD5加密代替DES
-
nologin:拒絕用戶登錄
通過修改用戶的shell為/sbin/nologin並會給出默認提示,若要修改提示信息則修改/etc/nologin.txt文件
-
(1)、創建組distro,其GID為2016;
~# groupadd -g 2016 distro
-
(2)、創建用戶mandriva, 其ID號為1005;基本組為distro;
~# useradd -u 1005 mandriva -g distro
-
(3)、創建用戶mageia,其ID號為1100,家目錄為/home/linux;
~# useradd -u 1100 mageia -d /home/linux
-
(4)、給用戶mageia添加密碼,密碼為mageedu;
~ # passwd mageia Changing password for user mageia. New password: #在此輸入新密碼mageia BAD PASSWORD: The password is shorter than 8 characters Retype new password: #在此重復輸入新密碼mageia passwd: all authentication tokens updated successfully.
-
(5)、刪除mandriva,但保留其家目錄;
~# userdel mandriva
-
(6)、創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin;
~# groupadd penguin ~# useradd -u 2002 slackware -g distro -G penguin
-
(7)、修改slackware的默認shell為/bin/tcsh;
~# chsh slackware -s /bin/tcsh
-
(8)、為用戶slackware新增附加組admins;
~# groupadd admins ~# usermod slackware -aG admins
用戶管理命令及應用練習