2021-05-12 14:32:11
Linux使用者管理詳解
一、常用命令:
(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 - 內 含 定 義 檔 的 目 錄
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2017-02/140794p2.htm
相關文章