https://www.cnblogs.com/craftor/p/3811612.html
useradd是Linux添加新用戶的命令,這個命令提供了一次性創建新用戶賬戶及設置用戶HOME目錄結構的簡便方法。
1、useradd命令加參數-D參看系統的默認值:
# useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes
解釋:
1)新用戶添加到GID為100的公共組
2)新用戶的HOME目錄將會位於/homoe/username
3)新用戶賬戶密碼在過期后不會被禁用
4)新用戶賬戶未被設置為某個日期后就過期
5)新用戶賬戶將bash shell作為默認shell
6)系統會將/etc/skel目錄下的內容復制到用戶的HOME目錄下
7)系統為該用戶賬戶在mail目錄下創建一個用於接收郵件的文件
倒數第2個值很有意思。useradd命令允許管理員創建一個默認的HOME目錄配置,然后把它作為創建新用戶HOME目錄的模板。這樣,就能自動在每個新用戶的HOME目錄里放置默認的系統文件。在Ubuntu Linux系統上,/etc/skel目錄下有下列文件:
$ ls -la /etc/skel total 32 drwxr-xr-x 2 root root 4096 Jun 24 09:43 . drwxr-xr-x 132 root root 12288 Jun 19 09:53 .. -rw-r--r-- 1 root root 220 Apr 3 2012 .bash_logout -rw-r--r-- 1 root root 3486 Apr 3 2012 .bashrc -rw-r--r-- 1 root root 179 Apr 3 2012 example.desktop -rw-r--r-- 1 root root 675 Apr 3 2012 .profile $
在創建用戶時,可以使用下面的命令行參數改變默認值或默認行為:
============================================================================
參 數 描 述
----------------------------------------------------------------------------
-c comment 給新用戶添加備注
-d home_dir 為主目錄指定一個名字(如果不想用登錄名作為主目錄名的話)
-e expire_date 用YYYYY-MM-DD格式指定一個賬戶過期的日期
-f inactive_days 指定這個帳戶密碼過期后多少天這個賬戶被禁用;0表示密碼一過期就立即禁
用,-1表示禁用這個功能
-g initial_group 指定用戶登錄組的GID或組名
-G group ... 指定用戶除登錄組之外所屬的一個或多個附加組
-k 必須和-m一起使用,將/etc/skel目錄的內容復制到用戶的HOME目錄
-m 創建用戶的HOME目錄
-M 不創建用戶的HOME目錄(當默認設置里指定創建時,才用到)
-n 創建一個同用戶登錄名同名的新組
-r 創建系統賬戶
-p passwd 為用戶賬戶指定默認密碼
-s shell 指定默認登錄shell
-u uid 為賬戶指定一個唯一的UID
============================================================================
同樣,你可以用-D參數后面跟一個要修改的值的參數,來修改系統默認的新用戶值。這些參數如下表:
============================================================================
參 數 描 述
----------------------------------------------------------------------------
-b default_home 更改默認的創建用戶HOME目錄的位置
-e expiration_date 更改默認的新賬戶的過期日期
-f inactive_days 更改默認的新用戶從密碼過期到賬戶被禁用的天數
-g group 更改默認的組名稱或GID
-s shell 更改默認的登錄shell
============================================================================
如 #useradd -D -s /bin/tsch ,修改默認的shell為/bin/tsch。
另外,刪除用戶,使用userdel命令。默認情況下,userdel命令只會刪除/etc/passwd文件中的信息,而不會刪除系統中屬於該賬戶的任何文件。
如果加上-r,userdel會刪除用戶的HOME目錄以及mail目錄。然后,系統上仍可能存有歸已刪除用戶所有的其他文件。這在有些環境中會造成問題。
PS:在有大量用戶的環境中使用-r參數時要特別小心。你永遠不知道用戶是否在他的HOME目錄下存放了其他用戶或其他程序要使用的重要文件。記住在刪除用戶的HOME之前一定要檢查清楚!