一、常用命令:
(1)創建用戶命令兩條:
adduser
useradd
(2)用戶刪除命令:
userdel
二、兩個用戶創建命令之間的區別
adduser: 會自動為創建的用戶指定主目錄、系統shell版本,會在創建時輸入用戶密碼。
useradd:需要使用參數選項指定上述基本設置,如果不使用任何參數,則創建的用戶無密碼、無主目錄、沒有指定shell版本。
三、使用adduser
例如:
$ adduser apple
輸出顯示:
這樣在創建用戶名時,就創建了用戶的主目錄以及密碼。
默認情況下:
adduser在創建用戶時會主動調用 /etc/adduser.conf;
在創建用戶主目錄時默認在/home下,而且創建為 /home/用戶名
如果主目錄已經存在,就不再創建,但是此主目錄雖然作為新用戶的主目錄,而且默認登錄時會進入這個目錄下,但是這個目錄並不是屬於新用戶,當使用userdel刪除新用戶時,並不會刪除這個主目錄,因為這個主目錄在創建前已經存在且並不屬於這個用戶。
為用戶指定shell版本為:/bin/bash
因此常用參數選項為:
(1) --home: 指定創建主目錄的路徑,默認是在/home目錄下創建用戶名同名的目錄,這里可以指定;如果主目錄同名目錄存在,則不再創建,僅在登錄時進入主目錄。
(2) --quiet: 即只打印警告和錯誤信息,忽略其他信息。
(3) --debug: 定位錯誤信息。
(4) --conf: 在創建用戶時使用指定的configuration文件。
(5) --force-badname: 默認在創建用戶時會進行/etc/adduser.conf中的正則表達式檢查用戶名是否合法,如果想使用弱檢查,則使用這個選項,如果不想檢查,可以將/etc/adduser.conf中相關選項屏蔽。如:
四、使用useradd
注意: 在使用useradd命令創建新用戶時,不會為用戶創建主目錄,不會為用戶指定shell版本,不會為用戶創建密碼。
例如:
1、不使用任何參數選項創建用戶:
例如創建新用戶 tt
$ sudo useradd tt
(1)需要為用戶指定登錄密碼:
(2)需要為用戶指定shell版本和用戶登錄主目錄
如上圖所示,最后一行行首只出現:
$
查看shell版本,發現是/bin/sh:
說明這是沒有指定shell版本
用戶登錄后的所在目錄為根目錄: /
雖然$HOME環境變量為/home/tt
2、為用戶指定參數的useradd命令:
常用命令行選項:
(1) -d: 指定用戶的主目錄
(2) -m: 如果存在不再創建,但是此目錄並不屬於新創建用戶;如果主目錄不存在,則強制創建; -m和-d一塊使用。
(3) -s: 指定用戶登錄時的shell版本
(4) -M: 不創建主目錄
例如:
$ sudo useradd -d "/home/tt" -m -s "/bin/bash" tt
解釋: -d “/home/tt" :就是指定/home/tt為主目錄
-m 就是如果/home/tt不存在就強制創建
-s 就是指定shell版本
修改tt密碼:
$ sudo passwd tt
五、刪除用戶命令
userdel
(1)只刪除用戶:
sudo userdel 用戶名
(2)連同用戶主目錄一塊刪除:
sudo userdel -r 用戶名
如果創建時主目錄已經存在,即主目錄不屬於當前要刪除的用戶,則無法刪除主目錄,例如:
可以看出無法刪除已有主目錄/home/tt。
六、相關文件:
/etc/passwd - 使 用 者 帳 號 資 訊,可以查看用戶信息
/etc/shadow - 使 用 者 帳 號 資 訊 加 密
/etc/group - 群 組 資 訊
/etc/default/useradd - 定 義 資 訊
/etc/login.defs - 系 統 廣 義 設 定
/etc/skel - 內 含 定 義 檔 的 目 錄