跳过导航链接 | |
退出打印视图 | |
手册页第 1M 部分:系统管理命令 Oracle Solaris 11.1 Information Library (简体中文) |
- 管理系统中的新角色帐户
roleadd [-c comment] [-d dir] [-e expire] [-f inactive] [-g group] [-G group [, group...]] [-m [-k skel_dir]] [-u uid [-o]] [-s shell] [-S repository] [-A authorization [,authorization...]] [-K key=value] role
roleadd -D [-b base_dir] [-e expire] [-f inactive] [-g group] [-A authorization [,authorization...]] [-P profile [,profile...] [-K key=value]]
roleadd 将角色条目添加到 -S 选项指定的 passwd、shadow 和 user_attr 数据库中。缺省的系统信息库为 files。-A 和 -P 选项分别向角色分配授权和配置文件。不能将角色指定给其他角色。-K 选项将 key=value 对添加到角色的 user_attr。多次使用 -K 选项可添加多个 key=value 对。
如果请求的话,roleadd 还可为角色创建补充组成员关系(-G 选项)以及为角色创建起始目录(-m 选项)。在 passwd(1) 命令执行之前,新角色帐户将一直保持锁定状态。
指定带有 -g、-b、-f、-e 或 -K 选项(或这些选项的任意组合)的 roleadd -D 可设置各个字段的缺省值。请参见 -D 选项。不带有 -D 选项的后续 roleadd 命令将使用这些参数。
使用此命令创建的系统文件条目每行最多允许有 512 个字符。为多个选项指定长参数可能会超出此限制。
角色 (role) 字段接受由以下字符组成的长度不超过八字节的字符串:字母字符、数字字符、句点 (.)、下划线 (_) 和连字符 (-)。第一个字符应为字母且字段应至少包含一个小写字母字符。如果不满足这些限制,将写入一条警告消息。将来的 Solaris 发行版可能拒绝接受不满足这些要求的角色字段。
role 字段必须至少包含一个字符且不能包含冒号 (:) 或换行符 (\n)。
管理员必须具有 "User Management"(用户管理)配置文件才能创建新角色。在 passwd、shadow 和 user_attr 中设置各种字段所需的授权可以在 passwd(4)、shadow(4) 和 user_attr(4) 中找到。分配组所需的授权可以在 group(4) 中找到。
支持以下选项:
一个或多个以逗号分隔的在 auth_attr(4) 中定义的授权。只有对授权具有授予权限的用户或角色才能将授权分配给帐户。
如果未指定 -d dir,则为系统的缺省基目录。base_dir 与帐户名串联在一起用于定义起始目录。如果未使用 -m 选项,则必须存在 base_dir。
任意文本字符串。它通常为角色的简短描述。该信息存储在角色的 passwd 条目中。
指定新角色的起始目录路径。如果未指定任何服务器名称,则在 passwd(4) 数据库中维护指定的目录。
可选服务器名称指定起始目录所在的主机。采用此格式的条目依赖于自动挂载程序,并在 auto_home 映射中进行维护。/home/username 路径在 passwd(4) 数据库中维护。用户随后引用 /home/username 时,自动挂载程序将在 /home/username 中挂载指定的目录。
显示 group、base_dir、skel_dir、shell、inactive、expire 和 key=value 对的缺省值。与 -g、-b、-f 或 -K 选项结合使用时,-D 选项设置指定字段的缺省值。缺省值包括:
other(GID 为 1)
/export/home
/etc/skel
/bin/pfsh
0
Null
Null
Null
不存在
指定角色的失效日期。此日期过后,没有任何用户能够访问此角色。到期选项参数是使用模板文件 /etc/datemsk 中包含的日期格式之一输入的日期。请参见 getdate(3C)。
如果所选日期包含空格,必须将其放在引号中。例如,您可以输入 10/6/90 或 October 6, 1990。Null 值 (" ") 会使到期日期处于无效状态。此选项对创建临时角色非常有用。
在声明角色 ID 无效之前,允许该 ID 在连续两次使用之间间隔的最大天数。正常值为正整数。0 值会使此状态无效。
现有组的整数 ID 或字符串名称。如果不带 -D 选项,它将定义新角色的主组成员关系并成为缺省组。可通过调用 roleadd -D -g group 重置此缺省值。
现有组的整数 ID 或字符串名称。它定义新角色的补充组成员关系。使用 -g 和 -G 选项指定的 group 之间的重复项将被忽略。指定的组数不能大于 NGROUPS_MAX。
包含可复制到新角色起始目录中的框架信息(例如 .profile)的目录。该目录必须已存在。系统提供的 /etc/skel 目录可用于此用途。
要添加到角色的属性中的 key=value 对。可使用多个 -K 选项添加多个 key=value 对。可以使用通用 -K 选项以及相应键来代替特定的隐式键选项(-A 和 -P)。有关有效的 key=value 对列表,请参见 user_attr(4)。对于此选项,“type” 键不是有效键。键不能重复。
如果新角色的起始目录不存在,则创建该目录。如果该目录已存在,group 必须对其具有读取、写入和执行权限,其中 group 为角色的主组。如果指定给 -d 选项的服务器名称是远程主机,系统将不尝试创建起始目录。
如果该目录不存在且父目录是 ZFS 数据集的挂载点,则创建该数据集的子项,并将其挂载到指定位置。授予角色创建 ZFS 快照并对其进行提升的权限。新创建的数据集将继承其父项的加密设置。如果该数据集已加密,将授予角色更改其包装密钥的权限。
此选项允许 UID 重复(不唯一)。
一个或多个由逗号分隔的在 prof_attr(4) 中定义的的执行配置文件。
程序的全路径名,登录时可用作用户的 shell。其缺省值为一个空字段,这将使系统使用 /bin/pfsh 作为缺省值。shell 的值必须为一个有效的可执行文件。
有效的系统信息库包括 files 和 ldap。系统信息库指定将更新哪个名称服务。缺省的系统信息库为 files。系统信息库为 files 时,授权、配置文件和角色可存在于其他名称服务系统信息库中,并可以分配给 files 系统信息库中的用户。当系统信息库为 ldap 时,所有可分配的属性必须存在于 ldap 系统信息库中。
新角色的 UID。此 UID 必须是一个小于 <sys/param.h> 中定义的 MAXUID 的非负十进制整数。UID 缺省为高于当前分配的最大编号的下一个可用(唯一)编号。例如,如果分配了 UID 100、105 和 200,则下一个缺省 UID 号为 201。(UID 0-99 为保留值,供将来的应用程序使用。)
如果出现错误,roleadd 将输出错误消息并以下列某一值退出:
无权执行尝试的操作。
命令语法无效。将显示 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)、pfexec(1)、profiles(1)、roles(1)、users(1B)、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)、shadow(4)、user_attr(4)、attributes(5)
如果出现错误,roleadd 将输出错误消息并以非零状态退出。
以下情况表示指定的 login 已在使用中:
UX: roleadd: ERROR: login is already in use. Choose another.
以下情况表示使用 -u 选项指定的 uid 不唯一:
UX: roleadd: ERROR: uid uid is already in use. Choose another.
以下情况表示使用 -g 选项指定的 group 已在使用中:
UX: roleadd: ERROR: group group does not exist. Choose another.
以下情况表示使用 -u 选项指定的 uid 处于保留的 UID 范围 (0-99) 之内:
UX: roleadd: WARNING: uid uid is reserved.
以下情况表示使用 -u 选项指定的 uid 大于 <sys/param.h> 中定义的 MAXUID:
UX: roleadd: ERROR: uid uid is too big. Choose another.
以下情况表示 /etc/passwd 或 /etc/shadow 文件不存在:
UX: roleadd: ERROR: Cannot update system files - login cannot be created.
以下情况表示执行此命令的用户没有足够的授权来执行操作:
UX: roleadd: ERROR: Permission denied.