useradd 命令

用途

创建新的用户帐户。

语法

useradd [ -c 注释 ] [ -d dir ] [ -e expire ] [ -g group ] [ -G group1,group2 ... ] [ -m [ -k skel_dir ]] [ -u uid ] [ -s shell ] [ -r role1,role2 ...] 登录

描述

useradd 命令创建新的用户帐户。 login 参数必须是唯一字符串 (其长度可由管理员使用 chdev 命令进行配置)。 不能在用户名中使用 ALLdefault 关键字。

useradd 命令不会为用户创建密码信息。 它使用星号 (*) 初始化 password 字段。 稍后,将使用 passwdpwdadm 命令设置此字段。 在使用 passwdpwdadm 命令将认证信息添加到 /etc/security/passwd 文件之前,将禁用新帐户。

useradd 命令始终检查目标用户注册表以确保新帐户的标识对于目标注册表是唯一的。 还可以将 useradd 命令配置为使用 dist_uniqid 系统属性检查系统的所有用户注册表。 dist_uniqid 系统属性是 /etc/security/login.cfg 文件的 usw 节的属性,可以使用 chsec 命令进行管理。

dist_uniqid 系统属性具有以下值:
never
不检查非目标注册表的标识冲突。 这是缺省设置。
always
检查所有其他注册表的标识冲突。 如果检测到目标注册表和任何其他注册表间存在冲突,那么帐户创建或修改失败。
uniqbyname
检查所有其他注册表的标识冲突。 仅当要创建的帐户与现有帐户同名时才允许注册表间存在冲突。
注: 无论 dist_uniqid 系统属性如何,始终会强制实施目标注册表中的标识冲突检测。

uniqbyname 系统属性设置适用于两个注册表。 如果有两个以上的注册表,并且两个注册表之间已存在标识冲突,那么在使用冲突标识值在第三个注册表中创建新帐户时,未指定 useradd 命令的行为。 根据检查注册表的顺序,创建新帐户可能成功,也可能失败。

对标识冲突的检查只是为了强制在本地注册表和远程注册表之间或两个远程注册表之间标识唯一。 在远程注册表中新创建的帐户和使用同一远程注册表的其他系统中现有的本地用户之间,不保证标识唯一。 如果在运行命令时无法访问远程注册表,那么 useradd 命令将绕过远程注册表。

标志

描述
-c 注释 提供有关 login 参数指定的用户的一般信息。 comment 参数是不含嵌入式冒号 (:) 字符的字符串,不能以字符 '#!'结尾。
-d 目录 标识 login 参数指定的用户的主目录。 dir 参数是完整路径名。
-e 到期 标识帐户的截止日期。 expire 参数是一个以 MMDDhhmmyy 格式表示的 10 个字符的字符串,其中 MM 是月,DD 是天,hh 是小时,mm 是分钟,yy 是从 1939 年到 2038 年的最后 2 位数字。 所有字符都是数字。 如果 expire 参数为 0,那么该帐户未过期。 缺省值是 0。 请参阅 date 命令以获取更多信息。
-g 标识用户的主组。 group 参数必须包含有效的组名并且不能是空值。
-G group1,group2,... 标识用户所属的组。 group1,group2, ... 参数是组名的逗号分隔列表。
-k 骨架目录 将缺省文件从 skel_dir 复制到用户的主目录。 仅与 -m 标志一起使用。
-m 如果用户的主目录不存在,那么建立一个。 缺省情况下不建立主目录。
-r role1,role2,... 列出该用户的管理角色。 role1,role2, ... 参数是角色名称的列表,以逗号分隔。
-s 外壳 定义在会话初始化时为用户运行的程序。 shell 参数是完整路径名。
-u uid 指定用户标识。 uid 参数是一个唯一的整数字符串。 避免更改该属性,以免破坏系统安全性。

退出状态

描述
0 命令成功完成。
>0 发生错误。

安全性

RBAC 用户和可信AIX用户请注意:此命令可执行特权操作。 只有特权用户才能执行特权限定的操作。 有关授权和权限的更多信息,请参阅安全中的特权命令数据库。 要获取与此命令相关联的特权和权限的列表,请参阅 lssecattr 命令或 getcmdattr 子命令。

示例

  1. 要使用缺省值创建 davis 用户帐户,请输入:
    useradd davis
    

限制

要防止登录不一致,请避免全用大写字母字符组成用户名。 虽然 useradd 命令支持多字节用户名,但将用户名限制为具有 POSIX可移植文件名字符集的字符。

要确保您的用户数据库保持不受损坏,您在命名用户时必须小心。 用户名不得以连字符 (-) ,加号 (+) , at 符号 (@) 或波浪号 (~) 开头。 不能在用户名中使用关键字 ALLdefault 。 另外,不要在用户名字符串中使用以下任一字符:
描述
: 冒号
" 双引号
# 镑符号
, 逗号
= 等于号
\ 反斜杠
/ 斜杠
? 问号
' 单引号
ˋ 右引号

最后,login 参数不能包含任何空格、制表符或换行符。

位置

/usr/sbin/useradd

文件数

useradd 命令具有对以下文件的读和写许可权。

描述
/etc/passwd 包含用户的基本属性。
/etc/security/user 包含用户的扩展属性。
/etc/security/user.roles 包含用户的管理角色属性。
/etc/security/limits 定义每个用户的资源配额和限制。
/etc/security/environ 包含用户的环境属性。
/etc/security/audit/config 包含审计配置信息。
/etc/security/lastlog 包含用户最后一次登录的属性。
/etc/group 包含组的基本属性。
/etc/security/group 包含组的扩展属性。