useradd [-A authorization [,authorization...]] [-b base_dir | -d dir] [-c comment] [ -e expire] [-f inactive] [-g group] [-G group [, group]...] [-K key=value] [-m [ -k skel_dir]] [-p projname] [-P profile [,profile... ]] [-R role [, role...]] [-s shell] [-S repository] [-u uid [ -o]] login
useradd -D [-A authorization [,authorization...]] [-b base_dir] [-s shell [-k skel_dir]] [ -e expire] [-f inactive] [-g group] [-K key=value] [ -p projname] [-P profile [,profile... ]] [-R role [, role...]]
useradd 将新用户添加到 files 和 ldap 系统信息库中的 passwd、shadow 和 user_attr 数据库。–A 和 –P 选项分别向用户分配授权和配置文件。–R 选项向用户分配角色。–p 选项将项目与用户关联。–K 选项将 key=value 对添加到用户的 user_attr 条目。使用多个 –K 选项可添加多个 key=value 对。
如果有请求,useradd 还可为用户创建补充组成员关系(–G 选项),并为用户创建起始目录(–m 选项)。在执行 passwd(1) 命令之前,新登录名将保持锁定状态。
指定带有 –s、–k、–g、–b、–f、–e、–A、–P、–p、–R 或 –K 选项(或这些选项的任意组合)的 useradd –D 可设置相应字段的缺省值。请参见下文中的 –D 选项。不带有 –D 选项的后续 useradd 命令将使用这些参数。
使用此命令创建的系统文件条目每行最多允许有 2048 个字符。为多个选项指定长参数可能会超出此限制。
useradd 要求用户名采用 passwd(4) 中所述的格式。如果不满足这些限制,将显示一条警告消息。有关用户名的要求,请参见 passwd(4)。
管理员必须具有 "User Management"(用户管理)配置文件才能创建新用户。在 passwd、shadow 和 user_attr 中设置各个字段所需的授权可以在 passwd(4)、shadow(4) 和 user_attr(4) 中找到。分配组和项目所需的授权可以在 group(4) 和 project(4) 中找到。
支持以下选项:
一个或多个在 auth_attr(4) 中定义的以逗号分隔的授权。只有对授权具有 grant 权限的用户或角色才能将授权分配给帐户。
新登录起始目录的基目录(请参见下文中的 –d 选项)。创建新用户帐户时,base_dir 必须已存在,否则还需要指定 –m 选项或 –d 选项。
任意文本字符串。它通常为登录项的简短描述,当前用作存储用户全名的字段。该信息存储在用户的 passwd 条目中。
指定新用户的起始目录路径。如果未指定任何服务器名称,则在 passwd(4) 数据库中维护指定的目录。
可选服务器名称指定起始目录所在的主机。采用此格式的条目依赖于自动挂载程序,并在 auto_home 映射中进行维护。路径 /home/ username 在 passwd(4) 数据库中维护。用户随后引用 /home/username 时,自动挂载程序将在 /home/ username 中挂载指定的目录。
显示 group、base_dir、skel_dir、shell、inactive、expire、proj、projname 和 key=value 对的缺省值。与 –g、–b、–f、–e、–A、–P、–p、–R 或 –K 选项一起使用时,–D 选项将设置指定字段的缺省值。缺省值包括:
staff(GID 为 10)
/export/home
/etc/skel
/usr/bin/bash
0
null
null
null
null
3
default
不存在
null
指定登录名的失效日期。此日期过后,没有任何用户能够访问此登录名。到期选项参数是使用模板文件 /etc/datemsk 中包含的日期格式之一输入的日期。请参见getdate(3C)。
如果所选日期包含空格,必须将其放在引号中。例如,您可以输入 10/6/90 或 October 6, 1990。Null 值 (" ") 会使到期日期处于无效状态。此选项对创建临时登录名非常有用。
在声明该 ID 无效之前,允许登录 ID 在连续两次使用之间间隔的最大天数。正常值为正整数。0 值会使此状态无效。
现有组的整数 ID 或字符串名称。如果不带 –D 选项,它将定义新用户的主组成员关系并成为缺省组。可通过调用 useradd –D –g group 重置此缺省值。Solaris 操行系统保留了 GID 0-99 供将来分配。
现有组的整数 ID 或字符串名称。它定义新用户的补充组成员关系。使用 –g 和 –G 选项指定的 group 之间的重复项将被忽略。指定的组数不能大于 NGROUPS_MAX。Solaris 操行系统保留了 GID 0-99 供将来分配。
要添加到用户的属性中的 key=value 对。可使用多个 –K 选项添加多个 key=value 对。可以使用通用 –K 选项以及相应键来代替特定的隐式键选项(–A、–P、–R、–p)。有关有效的 key=value 对列表,请参见 user_attr(4)。对于此选项,“type” 键不是有效键。键不能重复。
包含可复制到新用户起始目录中的框架信息(例如 .profile)的目录。该目录必须已存在。系统提供的 /etc/skel 目录可用于此用途。
如果新用户的起始目录不存在,则创建该目录。如果该目录已存在,group 必须对其具有读取、写入和执行权限,其中 group 为用户的主组。如果指定给 –d 选项的服务器名称是远程主机,系统将不尝试创建起始目录。
如果该目录不存在且父目录是 ZFS 数据集的挂载点,则创建该数据集的子项,并将其挂载到指定位置。授予用户创建 ZFS 快照并对其进行提升的权限。新创建的数据集将继承其父项的加密设置。如果该数据集已加密,将授予用户更改其包装密钥的权限。
此选项允许 UID 重复(不唯一)。
一个或多个由逗号分隔的在 prof_attr(4) 中定义的执行配置文件。
与添加的用户关联的项目的名称。请参见 project(4) 中定义的 projname 字段。
一个或多个由逗号分隔的在 user_attr(4) 中定义的执行配置文件。不能将角色指定给其他角色。
程序的全路径名,登录时可用作用户的 shell。如果未指定,则将缺省为以前使用 –D –s 选项配置的任何值。如果未使用 –D –s 选项设置缺省值,则将使用 /usr/bin/bash。shell 的值必须为一个有效的可执行文件。
有效的系统信息库包括 files 和 ldap。系统信息库指定将更新哪个名称服务。缺省的系统信息库为 files。系统信息库为 files 时,授权、配置文件和角色可存在于其他名称服务系统信息库中,并可以分配给 files 系统信息库中的用户。当系统信息库是 ldap 时,LDAP 服务器和客户机都必须配置 EnableShadowUpdate=true。另外,所有可分配的属性都必须存在于 ldap 系统信息库中。
新用户的 UID。此 UID 必须是一个小于 <sys/param.h> 中定义的 MAXUID 的非负十进制整数。UID 缺省为高于当前分配的最大编号的下一个可用(唯一)编号。例如,如果分配了 UID 100、105 和 200,则下一个缺省 UID 号为 201。UID 0-99 为保留值,供 Solaris 操作系统分配。
如果出现错误,useradd 命令将输出一条错误消息并以下列值之一退出。如果错误是因为 LDAP 配置不当而发生的,下列值的前面会附有 "LDAP configuration problem"(LDAP 配置问题):
无权执行尝试的操作。
命令语法无效。将显示 usermod 命令的用法消息。
为选项提供的参数无效。
使用 –u 选项指定的 gid 或 uid 已在使用中。
password 和 shadow 文件相互不一致。可使用 pwconv(1M) 更正可能的错误。请参见 passwd(4) 和 shadow(4)。
要修改的登录项不存在,gid 或 uid 不存在。
group、passwd 或 shadow 文件缺失。
组名或用户名已在使用中。
无法更新 passwd、shadow 或 user_attr 文件。
空间不足,无法移动起始目录(–m 选项)。
无法创建、删除或移动新的起始目录。
请求的登录名已在使用中。
意外失败。
无法更新组数据库。
无法更新项目数据库。
授权不足。
没有角色。
没有配置文件。
没有特权。
没有标签。
没有组。
系统未运行 Trusted Extensions。
没有项目。
无法更新 auto_home。
/etc/datemsk
/etc/passwd
/etc/shadow
/etc/group
/etc/skel
/usr/include/limits.h
/etc/user_attr
有关下列属性的说明,请参见 attributes(5):
|
auths(1)、passwd(1)、profiles(1)、roles(1)、groupadd(1M)、groupdel(1M)、groupmod(1M)、grpck(1M)、logins(1M)、pwck(1M)、userdel(1M)、usermod(1M)、getdate(3C)、auth_attr(4)、group(4)、passwd(4)、prof_attr(4)、project(4)、user_attr(4)、attributes(5)
使用 Oracle Solaris 11.2 目录和命名服务:LDAP 、在 Oracle Solaris 11.2 中管理用户帐户和用户环境
如果出现错误,useradd 将显示错误消息并以非零状态退出。
以下情况表示指定的 login 已在使用中:
UX: useradd: ERROR: login is already in use. Choose another.
以下情况表示使用 –u 选项指定的 uid 不唯一:
UX: useradd: ERROR: uid uid is already in use. Choose another.
以下情况表示尚未创建使用 –g 选项指定的 group:
UX: useradd: ERROR: group group does not exist. Choose another.
以下情况表示使用 –u 选项指定的 uid 处于保留的 UID 范围 (0-99) 之内:
UX: useradd: WARNING: uid uid is reserved.
以下情况表示使用 –u 选项指定的 uid 大于 <sys/param.h> 中定义的 MAXUID:
UX: useradd: ERROR: uid uid is too big. Choose another.
以下情况表示 /etc/passwd 或 /etc/shadow 文件不存在:
UX: useradd: ERROR: Cannot update system files - login cannot be created.
以下情况表示执行此命令的用户没有足够的授权来执行操作:
UX: roleadd: ERROR: Permission denied.
以下情况表示在 useradd 命令中指定的目录无效:
UX: invalid_directory is not a valid directory. Choose another.
useradd 实用程序将定义添加到(缺省或指定的)作用域中的 passwd、shadow、group、project 和 user_attr 数据库。它将验证用户名(或角色)以及用户 ID 的唯一性,并验证根据外部名称服务指定的任何组名称是否存在。