chuser 命令
用途
更改用户属性。
语法
乔泽 [ -R load_module ] 属性=值 ... 名称
描述
chuser 命令将更改 Name 参数所标识用户的属性。 用户名必须已存在。 要更改属性,请使用 Attribute=Value 参数指定属性名和新值。 以下文件包含该命令设置的本地用户属性:
- /etc/passwd
- /etc/security/environ
- /etc/security/limits
- /etc/security/user
- /etc/security/user.roles
- /etc/security/audit/config
- /etc/group
- /etc/security/group
To change attributes for a user with an alternate Identification and Authentication (I&A) mechanism, the -R flag can be used to specify the I&A load module that user is defined under. 如果不指定 -R 标志,那么 chuser 命令将用户视作本地用户。 装入模块在 /usr/lib/security/methods.cfg 文件中定义。
如果使用 chuser 命令指定单个的不正确的属性或属性值,那么该命令不更改任何属性。
可以使用系统管理界面工具 (SMIT) smit chuser 快速路径更改用户特征。
更改帐户的标识会损害系统安全性,因此不应该这么做。 但是,使用 chuser 命令更改标识时,标识冲突检查也由 /etc/security/login.cfg 文件的 usw 节中的 dist_uniqid 属性控制。 该标识冲突控制的行为与为 mkuser 命令描述的相同。
对更改用户的限制
要确保用户信息的完整性,那么使用 chuser 命令时将应用一些限制。 只有 root 用户或具有 UserAdmin 权限的用户才可以使用 chuser 命令执行以下任务:
- 通过将 admin 属性设置为 true,使用户为管理用户。
- 更改管理用户的所有属性。
- 将用户添加到管理组。
管理组是其 admin 设置为 true 属性的组。 security 组的成员可以更改非管理用户的属性,并将用户添加到非管理组。
chuser 命令仅处理本地用户数据。 不能使用它来更改注册表服务器(如 NIS 和 DCE)中的数据。
标志
项 | 描述 |
---|---|
-R load_module | 指定用于更改用户属性的可装入 I&A 模块。 |
属性
如果具有适当的权限,可以设置以下用户属性:
项 | 描述 |
---|---|
帐户锁定 | 指示是否锁定了用户帐户。 可能值包括:
|
管理 | 定义用户的管理状态。 可能的值为:
|
admgroups | 定义用户管理的组。 如果 domainlessgroups 属性已在 /etc/secvars.cfg 文件中设置,那么可将轻量级目录访问协议 (LDAP) 组指定给本地用户,反之亦然。 有关更多信息,请参阅 /etc/secvars.cfg 文件。 Value 参数是逗号分隔的组名称列表。 |
auditclasses | 定义用户的审计类。 Value 参数是逗号分隔的类列表,或者值 ALL 表示所有审计类。 |
auth1 | 定义用于认证用户的主要方法。
Value 参数是 Method
;Name 对的逗号分隔的列表。 Method 参数是认证方法的名称。
Name 参数是要认证的用户。 如果不指定 Name 参数,那么使用调用登录程序的名称。 有效认证方法在 /etc/security/login.cfg 文件中定义。 缺省情况下,使用 SYSTEM 方法和本地密码认证。 NONE 方法指示不进行主认证检查。 |
auth2 | 定义用于认证用户的辅助方法。
Value 参数是 Method
;Name 对的逗号分隔的列表。 Method 参数是认证方法的名称。 Name 参数值是要认证的用户。 如果不指定此属性,那么缺省值为 NONE,指示不进行辅助认证检查。 有效认证方法在 /etc/security/login.cfg 文件中定义。 如果不指定 Name 参数,那么使用调用登录程序的名称。 |
能力 | 通过 login 或
su 命令定义授权给用户的系统特权(能力)。 有效的 功能 包括:
|
核心 | 指定用户进程可以创建的最大核心文件的软限制。 Value 参数是一个整数,表示 512 字节块的数目。 |
core_compress | 启用或禁用核心文件压缩。 该属性的有效值为 On 和 Off。 如果该属性的值为 On,那么压缩已启用;否则为禁用。 该属性的缺省值为 Off。 |
core_hard | 指定用户进程可以创建的最大核心文件。 Value 参数是一个整数,表示 512 字节块的数目。 |
core_aming | 选择核心文件命名策略。 该属性的有效值为 On 和 Off。 在表单 core.pid.time 中,值 On 启用核心文件命名,与 CORE_NAMING 环境变量执行的操作相同。 值 Off 使用 core 的缺省名称。 |
core_path | 启用或禁用核心文件路径规格。 该属性的有效值为 On 和 Off。 如果该属性的值为 On,那么核心文件将放置在由 core_pathname 指定的目录中(该功能已启用);否则,核心文件将放置在用户的当前工作目录中。 该属性的缺省值为 Off。 |
core_pathname | 如果 core_path 属性设置为 On,那么将位置指定为用于放置核心文件。 如果该属性未设置且 core_path 设置为 On,那么核心文件将放置在用户的当前工作目录中。 该属性限制为 256 个字符。 |
CPU | 标识用户进程可以使用的系统单位时间(以秒为单位)的最大量的软限制。 Value 参数是一个整数。 所有负值都视为无限。 |
cpu_hard | 标识用户进程可以使用的系统单位时间(以秒为单位)的对大量。 Value 参数是一个整数。 缺省值是 -1,关闭限制。 |
守护程序 | 指示 Name 参数指定的用户是否可以运行使用 cron 守护程序或
src(系统资源控制器)守护程序的程序。 可能的值为:
|
DATA | 指定用户进程的最大数据段的软限制。 Value 参数是一个整数,表示 512 字节块的数目。 此属性的最小可允许值为 1272。 指定-1 让它无限大 |
data_hard | 指定用户进程的最大数据段。 Value 参数是一个整数,表示 512 字节块的数目。 此属性的最小可允许值为 1272。 指定-1让它无限大 |
dce_export | 在 DCE 导出操作期间,允许 DCE 注册表用 DCE 用户信息覆盖本地用户信息。 可能的值为:
|
缺省角色 | 指定用户的缺省角色。 Value 参数(有效角色名称的以逗号分隔的列表)只能包含 roles 属性中指定给用户的角色。 可以使用 ALL 关键字表示用户的缺省角色是其所有指定角色。 |
字典列表 | 定义检查新密码时由组合限制使用的密码字典。 密码字典是逗号分隔的绝对路径名的列表,从左到右进行评估。 所有字典文件和目录必须对除 root 用户以外的所有用户都禁止写。 字典文件的格式为每行一个单词。 单词以第一列开始,以换行符终止。 仅 7 位 ASCII 单词受密码支持。 通过在字典文件中添加带有关键字
$USER 的条目,可禁止用户名出现在密码字段中。
注: 不能将关键字 $USER 用作字典文件中条目的任何词或模式的一部分。
将禁止与字典文件中提及的模式或正则表达式匹配的任何密码。 为了对字典文件中字与模式进行区分,会以 * 作为第一个字符来指示模式。 例如,如果管理员希望禁止以 123 结束的任何密码,那么需要在字典文件中提及此信息,如以下条目所示: *. * 123 第一部分 (*) 用来指示模式条目,其余部分 (.*123) 形成模式。 如果在系统上安装文本处理工具,那么建议的字典文件是 /usr/share/dict/words 文件。 |
domains | 定义用户所属的域的列表。 |
expires | 标识帐户的截止日期。 Value 参数是 MMDDhhmmyy 格式的 10 字符的字符串,其中 MM = 月,DD = 日,hh = 小时,mm = 分钟,yy = 1939 到 2038 年的最后两个数字。 所有字符都是数字。 如果 Value 参数为 0,那么帐户不到期。 缺省值是 0。 请参阅 date 命令以获取更多信息。 |
fsize | 定义用户的进程可以创建或扩展的最大文件的软限制。 Value 参数是一个整数,表示 512 字节块的数目。 要使文件大于 2G,请指定-1. 此属性的最小值为 8192。 |
fsize_hard | 定义用户进程可以创建或扩展的最大文件。 Value 参数是一个整数,表示 512 字节块的数目。 要使文件大于 2G,请指定-1. 此属性的最小值为 8192。 |
gecos | 提供关于 Name 参数所指定的用户的常规信息。 Value 参数是一个没有嵌入冒号的字符串 (:) 没有嵌入的换行符。 |
组 | 标识用户所属的组。 如果 domainlessgroups 属性已在 /etc/secvars.cfg 文件中设置,那么可将 LDAP 组指定给本地用户,反之亦然。 有关更多信息,请参阅 /etc/secvars.cfg。 Value 参数是逗号分隔的组名称列表。 |
histexpire | 定义用户不能重新使用密码的时间周期(以周为单位)。 该值是十进制整数字符串。 缺省值为 0,表示不设置时间限制。 只有管理用户可以更改此属性。 |
histsize | 定义用户不能复用的先前密码数。 该值是十进制整数字符串。 缺省值是 0。 此属性可以具有 0-50 范围内的值。 只有管理用户可以更改此属性。 |
主 | 标识由 Name 参数指定的用户的主目录。 Value 参数是完整路径名。 |
标识 | 指定用户标识。 Value 参数是唯一的整数字符串。 更改此属性危及系统安全性,鉴于此原因,不应该更改此属性。 |
login | 指示用户是否可以使用 login 命令登录到系统。 可能的值为:
|
loginretries | 定义在系统锁定帐户之前,最后一次成功登录之后允许的未成功登录尝试数。 该值是十进制整数字符串。 零或负值指示不存在限制。 一旦用户帐户被锁定,用户将不能登录,直到系统管理员将 /etc/security/lastlog 文件中的用户的 unsuccessful_login_count 属性重新设置为小于 loginretries 的值。 要实现这一操作,请输入以下命令:
|
项 | 描述 |
---|---|
登录时间 | 定义允许用户访问系统的天数和次数。 该值是下列其中一种格式的用逗号分隔的条目列表:
Possible values for <day> include mon, tues, w, THU, Friday, sat, and SUNDAY. 天值指示为任何缩写的工作日;然而,对于天和月名称来说,缩写词必须是唯一的。 天的范围可以循环的,如 Tuesday-Monday。 天名称不区分大小写。 Possible values for <time> include times specified in 24-hour military format. 时间值以 :(冒号)开始,指定 4 个字符的字符串。 需要前导零。 因此,0800(上午 8 时)有效,而 800 无效。 仅由指定时间周期组成的条目适用于每一天。 开始小时必须小于结束时间。 时间周期不能流入下一天。 Possible values for <month> include Jan, F, march, apr, and s. 将月份值指示为任何缩写的月份; 但是,对于日名称和月份名称,该缩写必须是唯一的。 月的范围是可以循环的,如 September-June。 月名称不区分大小写。 Possible values for <daynum> include days 1-31 of a month. 此值按照指定的月检查。 指定月值为 1 个或 2 个字符的字符串。 指定 month 值而不指定 daynum 值指示月的第一天或最后一天,这分别取决于该月是否是指定的开始月或结束月。 以! 为前缀的条目 (感叹号) 拒绝访问系统,称为 DENY 条目。 不带有 !(感叹号)前缀的条目 允许访问 ACCESS 条目且被这些条目调用。 我的! 前缀适用于单个条目且必须作为每个条目的前缀。 当前,系统允许每个用户 200 个条目。 此属性是国际化的。 可以输入月和天名称,并以为系统设置的语言环境变量中的语言显示。 The relative order of the month and day values are also internationalized; the <month><daynum> and <daynum><month> formats are accepted. 系统以下面的顺序评估这些条目:
|
maxage | 定义密码的最长寿命(以周为单位)。 到该时间必须更改密码。 该值是十进制整数字符串。 缺省值为 0,表示无最长寿命。 范围:0 到 52 |
maxexpired | 定义用户可以更改到期密码的超出 maxage 值的最长时间(以周为单位)。 在该定义的时间后,只有管理用户可以更改密码。 该值是十进制整数字符串。 缺省值为 -1,指示设置了限制。 如果 maxexpired 属性为 0,那么当达到 maxage 值时,密码到期。 如果 maxage 属性为 0,那么忽略 maxexpired 属性。 范围:0 到 52(root 用户从 maxexpired 免除) |
maxrepeats | 定义新密码中字符可以重复的最大次数。 由于值 0 是无意义的,所以缺省值 8 指示没有最大次数。 该值是十进制整数字符串。 范围:0 到 8 |
maxulogs | 指定每个用户的最大并发登录次数。 如果用户的并发登录次数超过允许的最大登录次数,那么登录会被拒绝。 |
minage | 定义在可以更改之前,密码必须的最短寿命(以周为单位)。 该值是十进制整数字符串。 缺省值为值 0,指示无最短寿命。 范围:0 到 52 |
minalpha | 定义必须在新密码中的最小字母字符数。 该值是十进制整数字符串。 缺省值为值 0,表示无最小值。 范围:0 到 8 |
mindiff | 定义在新密码中(而非在旧密码中)要求的最小字符数。 该值是十进制整数字符串。 缺省值为值 0,表示无最小值。 范围:0 到 8 |
minlen | 定义密码的最小长度。 该值是十进制整数字符串。 缺省值为值 0,表示无最小长度。 允许的最大值为 8。 此属性由更多信息 minlen 和/或 'minalpha + minother'(以较大者为准) 确定。 'minalpha + minother' 不应大于 8。 如果 'minalpha + minother' 大于 8 ,那么 minother 的有效值将减小为 '8-minalpha'。 |
minother | 定义必须在新密码中的最小非字母字符数。 该值是十进制整数字符串。 缺省值为值 0,表示无最小值。 范围:0 到 8 |
nofiles | 定义用户进程可以一次打开的文件描述符数的软限制。 Value 参数是一个整数。 |
nofiles_hard | 定义用户进程可以一次打开的文件描述符数的硬限制。 Value 参数是一个整数。 缺省值为 -1,它将限制设置为系统允许的最大值。 |
nproc | 定义对用户一次可运行的进程数的软限制。 Value 参数是一个等于或大于 1 的整数。 缺省值为 -1,它将限制设置为系统允许的最大值。 |
nproc_hard | 定义对用户一次可运行的进程数的硬限制。 Value 参数是一个等于或大于 1 的整数。 缺省值为 -1,它将限制设置为系统允许的最大值。 |
pgrp | 识别用户的主组。 如果 domainlessgroups 属性已在 /etc/secvars.cfg 文件中设置,那么可将 LDAP 组作为主组指定给本地用户,反之亦然。 有关更多信息,请参阅 /etc/secvars.cfg。 Value 参数必须包含有效组名,并且不能为空值。 |
projects | 定义用户的过程可以分配到其中的项目列表。 该值是逗号分隔的项目名称的列表,并且从左到右进行求值。 项目名称应该为如系统中定义的有效项目名称。 如果在表中找到了无效的项目名称,那么它将报告出错。 |
pwdchecks | 定义强加在新密码上的密码限制方法。 该值是逗号分隔的方法名的列表,并且从左到右评估。 方法名是绝对路径名或相对于可执行装入模块的 /usr/lib 路径名。 |
pwdwarntime | 定义系统发出警告要求密码更改之前的天数。 该值是十进制整数字符串。 零或负值指示不发出任何消息。 该值必须小于 maxage 和 minage 属性的差。 忽略大于此差的值并在达到 minage 值时,发出消息。 |
rcmds | 控制 r-commands (rsh, rexec和 rcp) 的远程执行。 可能的值如下:
注: rcmds 属性仅控制远程命令执行。 它不控制 r-command 功能以打开远程 shell。 此类登录功能由 rlogin, hostsallowedlogin和 hostsdeniedlogin 属性控制。
虽然出于向后兼容性目的仍然支持不推荐使用的 ttys 属性值 |
rlogin | 允许使用 telnet 或
rlogin 命令从远程位置访问帐户。 可能的值为:
|
roles | 定义该用户的管理角色。 Value 参数是角色名的列表,由逗号分隔。 |
rss | 用户进程可以分配的物理内存最大量的软限制。 Value 参数是一个十进制整数字符串,以 512 字节块为单位指定。 系统当前不强制该值。 |
rss_hard | 用户进程可以分配的物理内存最大量。 Value 参数是一个十进制整数字符串,以 512 字节块为单位指定。 系统当前不强制该值。 |
shell | 定义在会话初始化时为用户运行的程序。 Value 参数是完整路径名。 |
堆栈 | 指定用户进程的最大进程堆栈段的软限制。 Value 参数是一个整数,表示要分配的 512 字节块的数目。 对于此属性的最小可允许值为 49。 |
stack_hard | 指定用户进程的最大进程堆栈段。 Value 参数是一个整数,表示要分配的 512 字节块的数目。 对于此属性的最小可允许值为 49。 此参数的最大可允许值为 2147483647。 |
su | 指示另一个用户是否可以使用 su 命令切换到指定的用户帐户。 可能的值为:
|
sugroups | 定义可以使用 su 命令切换到指定用户帐户的组。 Value 参数是组名的逗号分隔列表,或指示所有组的值 ALL。 组名前面的感叹号 (!) 排除该组。 如果未指定此属性,那么所有组都可通过使用 su 命令切换为此用户帐户。 如果
domainlessgroups 属性已在 /etc/secvars.cfg 文件中设置,那么可将 LDAP 组指定给本地用户,反之亦然。 有关更多信息,请参阅
/etc/secvars.cfg 文件。 注: 如果用户属于多个组,并且使用惊叹号 (!) 指定了任何组,那么用户无法使用 su 命令来访问指定的用户帐户。
|
sysenv | 标识系统状态(受保护的)环境。 值 参数是一组以逗号分隔的 属性=值 对,如 /etc/security/environ 文件中所指定。 |
线程 | 指定对用户进程可以创建的最大线程数的软限制。 Value 参数是一个大于或等于 1 的整数,表示每个用户进程可以创建的线程数。 此限制是由内核以及用户空间 pthread 库强加的。 |
线程硬 | 指定用户进程可以创建的最大可能线程数。 Value 参数是一个大于或等于 1 的整数,表示每个用户进程可以创建的线程数。 此限制是由内核以及用户空间 pthread 库强加的。 |
tpath | 指示用户的可信路径状态。 可能的值为:
|
ttys | 定义可以访问 Name 参数指定的帐户的终端。 Value 参数是完整路径名的逗号分隔的列表,或指示所有终端的值 ALL。 安安 终端名称前面的 (感叹号) 不包括该终端。 如果不指定此属性,那么所有终端可以访问用户帐户。 |
umask | 确定文件许可权。 创建文件时,该值与创建进程的许可权一起确定文件的许可权。 缺省值为 022。 |
usrenv | 定义用户状态(未受保护的)环境。 值 参数是一组以逗号分隔的 属性=值 对,如 /etc/security/environ 文件中所指定。 |
efs_keystore_access | 指定用户密钥库的数据库类型。 您可以指定以下值:
限制:仅当对系统启用 EFS 时,该属性才有效。 |
efs_adminks_access | 表示 efs_admin 密钥库的数据库类型。 唯一有效的值是 file。 限制:仅当对系统启用 EFS 时,该属性才有效。 |
efs_initialks_mode | 指定用户密钥库的初始方式。 您可以指定以下值:
该属性指定用户密钥库的初始方式。 您可以将该属性与 mkuser 命令一起使用。 创建密钥库后,除非删除该密钥库并创建新密钥库,否则使用 chuser、chgroup 或 chsec 命令更改属性值或者手动进行编辑不会更改密钥库的方式。 要更改密钥库方式,请使用 efskeymgr 命令。 限制:仅当对系统启用 EFS 时,该属性才有效。 |
efs_allowksmodechangebyuser |
指定是否可以更改方式。 您可以指定以下值:
限制:仅当对系统启用 EFS 时,该属性才有效。 |
efs_keystore_algo | 指定在创建密钥库期间用于生成用户专用密钥的算法。 您可以指定以下值:
您可以将该属性与 mkuser 命令一起使用。 创建密钥库后,除非删除该密钥库并创建新密钥库,否则使用 chuser、chgroup 或 chsec 命令更改该属性值或者手动进行编辑不会重新生成专用密钥。 要更改密钥的算法,请使用 efskeymgr 命令。 限制:仅当对系统启用 EFS 时,该属性才有效。 |
efs_file_algo | 指定用户文件的加密算法。 您可以指定以下值:
限制:仅当对系统启用 EFS 时,该属性才有效。 |
minloweralpha | 定义必须在新密码中的最少小写字母字符数。 该值是十进制整数字符串。 缺省值为值 0,表示无最小值。 范围:0 到 PW_PASSLEN。 |
minupperalpha | 定义必须在新密码中的最小大写字母字符数。 该值是十进制整数字符串。 缺省值为值 0,表示无最小值。 范围:0 到 PW_PASSLEN。 |
mindigit | 定义必须在新密码中的最小数位数。 该值是十进制整数字符串。 缺省值为值 0,表示无最小值。 范围:0 到 PW_PASSLEN。 |
minspecialchar | 定义必须在新密码中的最小特殊字符数。 该值是十进制整数字符串。 缺省值为值 0,表示无最小值。 范围:0 到 PW_PASSLEN。 |
安全性
访问控制
此命令必须将执行 (x) 访问权只授予 root 用户和安全组。 此命令必须作为可信计算库 (TCB) 中的程序来安装。 命令必须由设置了 setuid (SUID) 位的 root 用户所拥有。
审计事件
事件 | 信息 |
---|---|
USER_Change | 用户,属性 |
访问的文件
方式 | 文件 |
---|---|
rw | /etc/passwd |
rw | /etc/security/user |
rw | /etc/security/user.roles |
rw | /etc/security/limits |
rw | /etc/security/environ |
rw | /etc/security/audit/config |
rw | /etc/group |
rw | /etc/security/group |
R | /etc/security/enc/LabelEncodings |
R | /etc/security/domains |
- aix.security.user.audit
- aix.security.role.assign
- aix.security.group.change
限制
更改用户的属性可能不受所有可装入 I&A 模块的支持。 如果可装入 I&A 模块不支持更改用户的属性,那么报告错误。
示例
- 启用用户smith要远程访问此系统,请输入:
chuser rlogin=true smith
- 更改davis用户帐户到 8 a.m。 1 1995 年 5 月,类型:
chuser expires=0501080095 davis
- 待添加davis给各小组finance及accounting,类型:
chuser groups=finance,accounting davis
- 更改用户davis,是使用 LDAP 装入模块创建的,要不允许远程访问,请输入:
chuser -R LDAP rlogin=false davis
- 更改用户的域davis,类型:
chuser domains=INTRANET,APPLICATION davis
- 取消设置用户的角色davis,类型:
chuser roles=" " davis
文件
项 | 描述 |
---|---|
/usr/bin/chuser | 包含 chuser 命令。 |
/etc/passwd | 包含用户的基本属性。 |
/etc/group | 包含组的基本属性。 |
/etc/security/group | 包含组的扩展属性。 |
/etc/security/user | 包含用户的扩展属性。 |
/etc/security/user.roles | 包含用户的管理角色属性。 |
/etc/security/lastlog | 包含用户最后一次登录的属性。 |
/etc/security/limits | 定义每个用户的资源配额和限制。 |
/etc/security/audit/config | 包含审计配置信息。 |
/etc/security/environ | 包含用户的环境属性。 |
/etc/security/domains | 包含系统的有效域定义。 |