4.3 用戶管理命令
用于用戶管理的命令有useradd、usermod和userdel,它們分別用于用戶創建、用戶修改和用戶刪除。
4.3.1 用戶創建(useradd)
1.功能與用法
useradd命令的功能是創建新用戶,其用法為:
useradd [-c comment] [-d home_dir] [-e expire_date] [-f inactive_days][-g group] [-G group1,group2,…] [[-m] [-k skel_dir]|-M] [-n][-o] [-r] [-s shell] [-u uid] user useradd -D [-g default_group] [-b default_home] [-e default_expire_date][-f default_inactive] [-s default_shell]
2.參數說明
useradd命令的部分參數如表4-1所示。
表4-1 useradd命令的部分參數

3.關于創建用戶的說明
(1)若不帶選項運行useradd,如useradd newuser,則使用默認方式創建newuser。若在創建用戶時沒有創建家目錄,則為保證newuser創建后可以登錄還必須手動創建newuser的家目錄,并修改家目錄歸屬關系和存取權限。
(2)創建用戶時,是否創建用戶家目錄,默認情況下取決于/etc/login.defs中變量CREATE_HOME的值,可以使用-m強制創建,也可以使用-M強制不創建。不創建用戶家目錄也是常見的,當多個用戶共用一個家目錄時,只要第一個用戶創建時創建家目錄就可以了,而以后的用戶可以直接使用已經存在的目錄。這時應該注意目錄的存取權限問題,必要時可將這類用戶放在一個組中。
(3)若未指定密碼,則在一切準備好后,還必須經超級用戶為新建用戶設置或修改密碼后才能正常登錄和使用。
(4)Linux默認在創建新用戶時,按新用戶名創建一個新組,該組為新用戶的歸屬組,稱為基本組。如果想讓新建用戶使用一個已經存在的組,可使用-g參數。如果同時還想讓新建用戶也歸屬到其他組,則可以使用-G參數。
4.創建用戶示例
1)以默認方式創建用戶
#useradd test1 #以默認方式創建用戶test1,之后使用命令 # grep test1 /etc/passwd /etc/group /etc/shadow /etc/gshadow ##發現在文件/etc/passwd、/etc/group、/etc/shadow和/etc/gshadow中分別添加了如下行: /etc/passwd: test1:x:505:505::/home/test1:/bin/bash /etc/group: test1:x:505: /etc/shadow: test1:!!:13563:0:99999:7::: #!!表示用戶未啟用或被上鎖 /etc/gshadow:test1:!:: #!表示未啟用組密碼 ##/etc/shadow文件中test1項中的密碼項內容為“!!”,是一個上鎖狀態,說明此用戶還沒有被啟用 (沒有密碼且不能登錄),只有在超級用戶為它修改密碼或解鎖后才能被啟用。
2)以非默認方式創建用戶
##創建一個名為test2的用戶,并且為其創建家目錄/usr/test2,而非默認的/home/test2 # useradd -d /usr/test2-m mytest
3)創建用戶test3,讓其與test1使用相同的家目錄和相同的組
#useradd-d/home/test1-g test1-M test3 #不創建家目錄
使用非默認模式創建用戶時,在創建后使用時可能會遇到問題。例如,若指定的目錄新用戶不可訪問或沒有創建,則創建后不能登錄;若指定的uid不合適,則可能會創建失敗。
4.3.2 用戶刪除(userdel)
對于系統中不再使用的用戶賬號,應盡早刪除它,因為多余用戶的存在可能是安全的隱患。刪除用戶的命令是userdel。其用法為:
userdel [-r] user
選項-r的作用是在刪除用戶的同時刪除用戶的家目錄。
關于用戶刪除有以下說明:
(1)在某些高級別的UNIX系統里,用戶一旦創建,是不能從系統中刪除的,用戶的uid也不能被重新使用,但可以通過過期或上鎖的辦法將它閑置起來。
(2)對于已經登錄的用戶或屬于該用戶的程序正在運行的用戶來說,刪除可能失敗。
(3)一般情況下,刪除用戶時只刪除/etc/passwd、/etc/shadow、/etc/group及相關文件中與該用戶相關的內容,而不刪除用戶的家目錄,因為用戶家目錄中可能存放重要數據。對用戶家目錄的刪除應由用戶或經用戶確認后由管理員來進行。
(4)若要在刪除用戶的同時刪除用戶家目錄,可使用-r選項。
4.3.3 用戶修改(usermod)
當用戶被創建后,它的屬性可通過usermod命令來修改。usermod的用法為:
usermod [-c comment] [-d dir [-m]] [-e expire_date] [-f inactive_days][-g group][-G group1,group2, …]
[-l newname] [-s shell][-u uid [-o]] [-L|-U] name
usermod命令的多數參數與表4-1意義相同,新增的參數有以下三個。
-l newname:設置新用戶名,將用戶名由原來的name變為newname。
-L:將用戶密碼上鎖。
-U:將用戶密碼解鎖。
- 蘋果電腦玩全攻略 OS X 10.8 Mountain Lion
- Extending Puppet
- Instant Handlebars.js
- 奔跑吧 Linux內核(入門篇)
- 嵌入式系統原理及開發
- 注冊表應用完全DIY
- 深入淺出Node.js
- Windows 7應用入門與技巧
- Hands-On GPU Programming with Python and CUDA
- 從實踐中學習Windows滲透測試
- Learn SwiftUI
- Hadoop Real-World Solutions Cookbook
- Windows 8完全自學手冊
- 電腦辦公(Windows 7+Office 2016)入門與提高
- 程序員必讀經典(算法基礎+計算機系統)