USERADD(8) | 系统管理命令 | USERADD(8) |
名称¶
useradd - 创建一个新用户或更新默认新用户信息大纲¶
useradd [选项] 登录
useradd -D
useradd -D [选项]
描述¶
useradd is a low level utility for adding users. On Debian, administrators should usually use adduser(8) instead.如果使用时不带 -D 选项,useradd 命令使用命令行上指定的值和系统的默认值创建一个新用户。根据命令行选项,useradd 命令也会更新系统文件和创建新用户的主目录并复制初始文件。
默认上,也会为用户创建组 (察看 -g, -N, -U,和 USERGROUPS_ENAB)。
选项¶
useradd 可以使用的选项有:-b, --base-dir BASE_DIR
如果选项没有指定,useradd 将使用 /etc/default/useradd 中的 HOME 变量,或者默认的 /home。
-c, --comment COMMENT
-d, --home-dir HOME_DIR
-D, --defaults
-e, --expiredate EXPIRE_DATE
如果没有指定,useradd 将使用 /etc/default/useradd 中 EXPIRE 变量指定的默认过期日期,或者一个空字符串(不过期)。
-f, --inactive INACTIVE
如果未指定,useradd 将使用 /etc/default/useradd 中的 INACTIVE 指定的默认禁用周期,或者默认为 -1。
-g, --gid GROUP
如果没有指定, useradd 的行为将依赖于 /etc/login.defs 文件中的 USERGROUPS_ENAB 参数。如果此参数设置为了 yes (或者在命令行上指定了 -U/--user-group),将会为用户创建一个组,组名和登录名相同。如果选项设置为了 no (或者在命令行上指定了 -N/--no-user-group),useradd 会把新用户的主组设置为 /etc/default/useradd 中 GROUP 变量指定的值,再或者默认是 100。
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
-h, --help
-k, --skel SKEL_DIR
这个选项只有在指定 -m (或 --create-home) 选项时才有效。
如果此项没有设置,骨架目录使用 /etc/default/useradd 中的 SKEL 的变量或默认为 /etc/skel。
如果可以,也复制 ACL 和扩展属性。
-K, --key KEY=VALUE
Example: -K PASS_MAX_DAYS=-1 can be used when creating system account to turn off password aging, even though system account has no password at all. Multiple -K options can be specified, e.g.: -K UID_MIN=100 -K UID_MAX=499
-l, --no-log-init
By default, the user's entries in the lastlog and faillog databases are reset to avoid reusing the entry from a previously deleted user.
For the compatibility with previous Debian's useradd, the -O option is also supported.
-m, --create-home
默认上,如果没有指定此选项并且 CREATE_HOME 没有启用,不会创建主目录。
-M, --no-create-home
-N, --no-user-group
如果没有指定 -g, -N 和 -U 选项,默认行为由 /etc/login.defs 中的 USERGROUPS_ENAB 变量指定。
-o, --non-unique
此选项只有和 -u 选项组合使用才有效。
-p, --password PASSWORD
-r, --system
System users will be created with no aging information in /etc/shadow, and their numeric identifiers are chosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (and their GID counterparts for the creation of groups).
Note that useradd will not create a home directory for such a user, regardless of the default setting in /etc/login.defs (CREATE_HOME). You have to specify the -m options if you want a home directory for a system account to be created.
-R, --root CHROOT_DIR
-s, --shell SHELL
-u, --uid UID
请参考 -r 选项和 UID_MAX 的描述。
-U, --user-group
如果没有指定 -g, -N 和 -U 选项,默认行为由 /etc/login.defs 中的 USERGROUPS_ENAB 变量指定。
-Z, --selinux-user SEUSER
更改默认值¶
只带 -D 选项使用时,useradd 将显示当前的默认值。-D 和其它选项配合使用时,useradd 将为指定的选项更新默认值。有效的“更改默认值”选项有:-b, --base-dir BASE_DIR
这个选择在 /etc/default/useradd 中设置 HOME 选项。
-e, --expiredate EXPIRE_DATE
此选项在 /etc/default/useradd 中设置 EXPIRE 变量。
-f, --inactive INACTIVE
这个选项在 /etc/default/useradd 中设置 INACTIVE 变量。
-g, --gid GROUP
这个选项在 /etc/default/useradd 中设置 GROUP 变量。
-s, --shell SHELL
这个选项在 /etc/default/useradd 设置 SHELL 变量。
注意:¶
系统管理员负责将默认的用户文件放在 /etc/skel/ 目录中(或者命令行上、/etc/default/useradd 中指定的任何其它目录)。CAVEATS¶
您可能不能想 NIS 组或 LDAP 组添加用户。这只能在相应服务器上进行。相似地,如果用户名已经存在于外部用户数据库中,比如 NIS 或 LDAP,useradd 将拒绝创建用户账户的请求。
It is usually recommended to only use usernames that begin with a lower case letter or an underscore, followed by lower case letters, digits, underscores, or dashes. They can end with a dollar sign. In regular expression terms: [a-z_][a-z0-9_-]*[$]?
On Debian, the only constraints are that usernames must neither start with a dash ('-') nor plus ('+') nor tilde ('~') nor contain a colon (':'), a comma (','), or a whitespace (space: ' ', end of line: '\n', tabulation: '\t', etc.). Note that using a slash ('/') may break the default algorithm for the definition of the user's home directory.
用户名不能超过 32 个字符长。
配置文件¶
在 /etc/login.defs 中有如下配置变量,可以用来更改此工具的行为:CREATE_HOME (boolean)
此设置并不应用到系统用户,并且可以使用命令行覆盖。
GID_MAX (number), GID_MIN (number)
GID_MIN 和 GID_MAX 的默认值分别是 1000 和 60000。
MAIL_DIR (string)
MAIL_FILE (string)
MAIL_DIR and MAIL_FILE 变量由 useradd,usermod 和 userdel 用于创建、移动或删除用户邮箱。
MAX_MEMBERS_PER_GROUP (number)
默认值是 0,意味着组中的成员数没有限制。
此功能(分割组)允许限制组文件中的行长度。这对于确保 NIS 组的行比长于 1024 字符。
如果要强制这个限制,可以使用 25。
注意:分割组可能不受所有工具的支持(甚至在 Shadow 工具集中)。您不应该使用这个变量,除非真的需要。
PASS_MAX_DAYS (number)
PASS_MIN_DAYS (number)
PASS_WARN_AGE (number)
SUB_GID_MIN (number), SUB_GID_MAX (number), SUB_GID_COUNT (number)
The default values for SUB_GID_MIN, SUB_GID_MAX, SUB_GID_COUNT are respectively 100000, 600100000 and 10000.
SUB_UID_MIN (number), SUB_UID_MAX (number), SUB_UID_COUNT (number)
The default values for SUB_UID_MIN, SUB_UID_MAX, SUB_UID_COUNT are respectively 100000, 600100000 and 10000.
SYS_GID_MAX (number), SYS_GID_MIN (number)
SYS_GID_MIN 和 SYS_GID_MAX 的默认值分别是 101 和 GID_MIN-1。
SYS_UID_MAX (number), SYS_UID_MIN (number)
SYS_UID_MIN 和 SYS_UID_MAX 的默认值分别是 101 和 UID_MIN-1。
UID_MAX (number), UID_MIN (number)
UID_MIN 和 UID_MAX 的默认值分别是 1000 和 60000。
UMASK (number)
useradd 和 newusers 使用此掩码设置它们创建的用户主目录的模式。
也被 pam_umask 用作默认 umask 值。
USERGROUPS_ENAB (boolean)
文件¶
/etc/passwd/etc/shadow
/etc/group
/etc/gshadow
/etc/default/useradd
/etc/skel/
/etc/subgid
/etc/subuid
/etc/login.defs
退出值¶
useradd 可以返回如下值:0
1
2
3
4
6
9
10
12
14
参见¶
chfn(1), chsh(1), passwd(1), crypt(3), groupadd(8), groupdel(8), groupmod(8), login.defs(5), newusers(8), subgid(5), subuid(5), userdel(8), usermod(8).2017-05-17 | shadow-utils 4.4 |