1.命令簡介
useradd 是系統管理員命令,用來創建新用戶或更新創建新用戶時的默認信息。
如果在創建用戶時沒有指定密碼的話,用戶的默認密碼是不可用的。所以 useradd 一般與 passwd 命令成對使用,在創建用戶後給用戶設置密碼。
2.命令格式
useradd [options] LOGIN
useradd -D
useradd -D [options]
3.選項說明
-b, --base-dir BASE_DIR
新賬戶的主目錄的基目錄
-c, --comment COMMENT
新賬戶的備註信息,備註信息保存在 /etc/passwd 的備註欄中
-d, --home-dir HOME_DIR
新賬戶的主目錄
-D, --defaults
顯示或更改默認的 useradd 配置
-e, --expiredate EXPIRE_DATE
新賬戶的過期日期,日期格式爲 YYYY-MM-DD。如果未指定,useradd 將使用在 /etc/default/useradd 中指定的到期日期 EXPIRE,或默認情況下使用空字符串(無過期)
-f, --inactive INACTIVE
指定在密碼過期後多少天即關閉該賬號。如果爲 0 賬號立即被停用;如果爲 -1 則賬號一直可用。默認值爲 -1
-g, --gid GROUP
指定用戶所屬的主組。主組必須已經存在
-G, --groups GROUPS
指定用戶所屬的附加組,多個組使用逗號分隔
-h, --help
顯示幫助信息並推出
-k, --skel SKEL_DIR
指定用戶的骨架目錄。與選項 -m (或 --create-home)聯用,骨架目錄包含要複製到用戶主目錄中的文件和目錄
-K, --key KEY=VALUE
不使用 /etc/login.defs 中的默認值(UID_MIN、UID_MAX、UMASK、PASS_MAX_DAYS 等)
-l, --no-log-init
不要將此用戶添加到最近登錄和登錄失敗數據庫
-m, --create-home
創建用戶的家目錄。useradd 默認會創建 home 目錄,除非 /etc/login.defs 中的 CREATE_HOME 設置爲no
-M, --no-create-home
不創建用戶的主目錄。即使 /etc/login.defs 中的 CREATE_HOME 設置爲 yes
-N, --no-user-group
不創建同名的組
-o, --non-unique
允許使用重複的 UID 創建用戶
-p, --password PASSWORD
設置賬戶密碼,注意是使用 crypt(3) 加密後的用戶密碼,不是密碼的明文。默認是用戶密碼不可用。推薦使用 passwd 命令給用戶設置密碼
-r, --system
創建一個系統賬戶
-R, --root CHROOT_DIR
設置根目錄。在 Linux 系統中,系統默認的根目錄是 /
-s, --shell SHELL
新賬戶的登錄 Shell
-u, --uid UID
新賬戶的用戶 ID
-U, --user-group
創建與用戶同名的組,並將用戶添加到此組中。爲默認動作,除非 /etc/login.defs 中 USERGROUPS_ENAB 被設置爲 no 或顯示使用選項 -N, --no-user-group
-Z, --selinux-user SEUSER
爲 SELinux 用戶映射使用指定 SEUSER
4.常用示例
(1)添加新用戶。
useradd dablelv
默認在創建用戶時的同時會創建一個同名的用戶主組和在 /home 目錄下同名的家目錄,除非在配置文件 /etc/login.defs 中 USERGROUPS_ENAB 和 CREATE_HOME 被設置爲 no。
(2)添加新用戶時,顯示指明家目錄和所屬的主組。
useradd -d /home/dablelvH -g root dablelv
添加用戶成功後,我們可以使用 id 命令查看用戶 dablelv 的用戶 ID、主組和附加組。
id dablelv
uid=1000(dablelv) gid=0(root) groups=0(root)
(3)添加新用戶後,並使用 passwd 給用戶設置密碼。
useradd dablelv
passwd dablelv
(4)添加用戶,並給用戶設置有效期。
useradd -e 2020-12-31 dablelv
(5)使用 useradd -D 查看創建新用戶時的默認信息,或直接 cat /etc/default/useradd。
useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
(6)修改創建新用戶時的默認信息。
useradd -D -f 0
#查看是否修改成功
useradd -D | grep INACTIVE
INACTIVE=0
參考文獻
[1] useradd(8) manual
[2] 博客園.Linux命令之useradd