chuser [ -R load_module ] Attribute=Value ... Name
chuser 命令更改 Name 参数标识的用户的属性。用户名必须已作为 8 个字节或少于 8 个字节的字母数字字符串存在。要更改属性,请使用 Attribute=Value 参数指定属性名和新值。 以下文件包含由此命令设置的本地用户属性:
要使用备用“识别和认证”(I&A)机制更改用户的属性,可以使用 -R 标志指定定义用户的 I&A 装入模块。如果不指定 -R 标志,则 chuser 命令将用户视作本地用户。装入模块在 /usr/lib/security/methods.cfg 文件中定义。
如果使用 chuser 命令指定单个的不正确的属性或属性值,则该命令不更改任何属性。
可以使用基于 Web 的系统管理器(wsm)中的 用户 应用程序或系统管理界面程序(SMIT)smit chuser 快速路径更改用户特征。
要确保用户信息的完整性,则使用 chuser 命令时将应用一些限制。只有 root 用户或具有 UserAdmin 权限的用户才可以使用 chuser 命令执行以下任务:
管理组是其 admin 设置为 true 属性的组。security 组的成员可以更改非管理用户的属性,并将用户添加到非管理组。
chuser 只管理本地用户数据。 不能使用它更改注册表服务器(如 NIS 和 DCE)中的数据。
-R load_module | 指定用于更改用户属性的可装入 I&A 模块。 |
如果具有适当的权限,可以设置以下用户属性:
account_locked | 指示是否锁定了用户帐户。可能值包括:
|
admin | 定义用户的管理状态。可能值为:
|
admgroups | 列出用户管理的组。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 命令定义授权给用户的系统特权(能力)。有效能力为:
|
core | 指定用户进程可以创建的最大核心文件的软限制。Value 参数是一个整数,表示 512 字节块的数目。 |
core_hard | 指定用户进程可以创建的最大核心文件。Value 参数是一个整数,表示 512 字节块的数目。 |
cpu | 标识用户进程可以使用的系统单位时间(以秒为单位)的最大量的软限制。Value 参数是一个整数。缺省值是 -1,关闭限制。 |
cpu_hard | 标识用户进程可以使用的系统单位时间(以秒为单位)的对大量。Value 参数是一个整数。缺省值是 -1,关闭限制。 |
daemon | 指示 Name 参数指定的用户是否可以运行使用 cron 守护进程或 src(系统资源控制器)守护进程的程序。可能值为:
|
data | 指定用户进程的最大数据段的软限制。Value 参数是一个整数,表示 512 字节块的数目。此属性的最小可允许值为 1272。 |
data_hard | 指定用户进程的最大数据段。Value 参数是一个整数,表示 512 字节块的数目。此属性的最小可允许值为 1272。 |
dictionlist | 定义检查新密码时由组合限制使用的密码字典。
密码字典是逗号分隔的绝对路径名的列表,从左到右进行评估。所有字典文件和目录必须对除 root 用户以外的所有用户都禁止写。字典文件的格式为每行一个单词。 单词以第一列开始,以换行符终止。 仅 7 位 ASCII 单词受密码支持。如果在您的系统上安装文本处理,则推荐的字典文件是 /usr/share/dict/words 文件。 |
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 参数是不嵌入 :(冒号)字符的字符串,并且不能以字符‘#!’结束。 |
groups | 标识用户所属的组。Value 参数是逗号分隔的组名称列表。 |
histexpire | 定义用户不能重新使用密码的时间周期(以周为单位)。该值是十进制整数字符串。缺省值为 0,表示不设置时间限制。只有管理用户可以更改此属性。 |
histsize | 定义用户不能重新使用的先前密码数。该值是十进制整数字符串。缺省值为 0。只有管理用户可以更改此属性。 |
home | 标识由 Name 参数指定的用户的主目录。 Value 参数是全路径名。 |
id | 指定用户标识。Value 参数是唯一的整数字符串。更改此属性危及系统安全性,鉴于此原因,不应该更改此属性。 |
login | 指示用户是否可以使用 login 命令登录到系统。可能值为:
|
loginretries | 定义在系统锁定帐户之前,最后一次成功登录之后允许的未成功登录尝试数。该值是十进制整数字符串。零或负值指示不存在限制。一旦用户帐户被锁定,用户将不能登录,直到系统管理员将 /etc/security/lastlog 文件中的用户的 unsuccessful_login_count 属性重新设置为小于 loginretries 的值。要实现这一操作,请输入以下命令:
chsec -f /etc/security/lastlog -s username -a \ unsuccessful_login_count=0 |
logintimes | 定义允许用户访问系统的天数和次数。该值是以下格式之一的逗号分隔的条目列表:
[!]:<time>-<time> [!]<day>[-<day>][:<time>-<time>] [!]<month>[<daynum>][-<month>[<daynum>]][:<time>-<time>] <day> 的可能值包括 mon、tues、w、THU、Friday、sat 和 SUNDAY。天值指示为任何缩写的工作日;然而,对于天和月名称来说,缩写词必须是唯一的。天的范围可以循环的,如 Tuesday-Monday。天名称不区分大小写。 <time> 的可能值包括以 24 小时军用格式指定的时间。时间值以 :(冒号)开始,指定 4 个字符的字符串。需要前导零。因此,0800(上午 8 时)有效,而 800 无效。仅由指定时间周期组成的条目适用于每一天。开始小时必须小于结束时间。时间周期不能流入下一天。 <month> 的可能值包括 Jan、F、march、apr 和 s。指示月值为任何缩写的月;然而,对于天和月名称来说,缩写词必须是唯一的。月的范围是可以循环的,如 September-June。月名称不区分大小写。 <daynum> 的可能值包括月的 1-31 天。此值按照指定的月检查。指定月值为 1 个或 2 个字符的字符串。指定 month 值而不指定 daynum 值指示月的第一天或最后一天,这分别取决于该月是否是指定的开始月或结束月。 带有 !(感叹号)前缀的条目拒绝访问系统,称为 DENY 条目。不带有 ! 前缀的条目允许访问,称为 ACCESS 条目。! 前缀适用于单一条目,且必须前缀于每一条目。当前,系统允许每个用户 200 个条目。 此属性是国际化的。可以输入月和天名称,并以为系统设置的语言环境变量中的语言显示。月和天值的相对顺序也是国际化的;接受 <month><daynum> 和 <daynum><month> 格式。 系统以下面的顺序评估这些条目: |
maxage | 定义密码的最长寿命(以周为单位)。到该时间必须更改密码。该值是十进制整数字符串。缺省值为 0,表示无最长寿命。范围:0 至 52 |
maxexpired | 定义用户可以更改到期密码的超出 maxage 值的最长时间(以周为单位)。在该定义的时间后,只有管理用户可以更改密码。该值是十进制整数字符串。缺省值为 -1,指示设置了限制。如果 maxexpired 属性为 0,则当达到 maxage 值时,密码到期。如果 maxage 属性为 0,则忽略 maxexpired 属性。范围:0 至 52(root 用户从 maxexpired 免除) |
maxrepeats | 定义新密码中字符可以重复的最大次数。由于值 0 是无意义的,所以缺省值 8 指示没有最大次数。该值是十进制整数字符串。范围:0 至 8 |
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,它将限制设置为系统允许的最大值。 |
pgrp | 标识用户的主组。Value 参数必须包含有效组名,并且不能为空值。 |
pwdchecks | 定义强加在新密码上的密码限制方法。 该值是逗号分隔的方法名的列表,并且从左到右评估。方法名是绝对路径名或相对于可执行装入模块的 /usr/lib 路径名。 |
pwdwarntime | 定义系统发出警告要求密码更改之前的天数。该值是十进制整数字符串。零或负值指示不发出任何消息。该值必须小于 maxage 和 minage 属性的差。忽略大于此差的值并在达到 minage 值时,发出消息。 |
rlogin | 允许使用 telnet 或 rlogin 命令从远程位置访问帐户。可能值为:
|
roles | 列出此用户的管理角色。Value 参数是角色名的列表,由逗号分隔。 |
rss | 用户进程可以分配的物理内存最大量的软限制。Value 参数是一个十进制整数字符串,以 512 字节块为单位指定。系统当前不强制该值。 |
rss_hard | 用户进程可以分配的物理内存最大量。 Value 参数是一个十进制整数字符串,以 512 字节块为单位指定。系统当前不强制该值。此属性适用于 AIX 4.2 或更高版本。 |
shell | 定义在会话开始时为用户运行的程序。Value 参数是全路径名。 |
stack | 指定用户进程的最大进程堆栈段的软限制。Value 参数是一个整数,表示要分配的 512 字节块的数目。对于此属性的最小可允许值为 49。 |
stack_hard | 指定用户进程的最大进程堆栈段。 Value 参数一个整数,表示要分配的 512 字节块的数目。对于此属性的最小可允许值为 49。对于 32 位应用程序,最大值 523264 512 字节块。对于 64 位应用程序,限制为与 4GB 相应的 8388608 512 字节块。这些限制还可以通过将 ulimit 设置为 -1 或无限制来获得。此属性适用于 AIX 4.2 或更高版本。 |
su | 指示另一个用户是否可以使用 su 命令切换到指定的用户帐户。可能值为:
|
sugroups | 列出可以使用 su 命令切换到指定用户帐户的组。Value 参数是组名称的逗号分隔的列表,或指示所有组的值 ALL。组名称前面的 !(感叹号)排除该组。如果不指定此属性,则所有组可以使用 su 命令切换到此用户帐户。 |
sysenv | 标识系统状态(受保护的)环境。Value 参数是在 /etc/security/environ 文件中指定的逗号分隔的 Attribute=Value 对。 |
tpath | 指示用户的可信路径状态。可能值为:
|
ttys | 列出可以访问 Name 参数指定的帐户的终端。Value 参数是全路径名的逗号分隔的列表,或指示所有终端的值 ALL。终端名前面的 !(感叹号)排除该终端。如果不指定此属性,则所有终端可以访问用户帐户。 |
umask | 确定文件许可权。创建文件时,该值与创建进程的许可权一起确定文件的许可权。缺省值为 022。 |
usrenv | 定义用户状态(未受保护的)环境。Value 参数是在 /etc/security/environ 文件中指定的逗号分隔的 Attribute=Value 对。 |
访问控制:此命令只授权执行(x)访问权限给 root 用户和安全组。此命令应该作为可信计算基(TCB)中的程序来安装。命令应该由设置 setuid(SUID)位的 root 用户拥有。
访问的文件:
方式 | 文件 |
---|---|
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 |
审计事件:
事件 | 信息 |
---|---|
USER_Change | 用户,属性 |
更改用户的属性可能不受所有可装入 I&A 模块的支持。如果可装入 I&A 模块不支持更改用户的属性,则报告错误。
chuser rlogin=true smith
chuser expires=0501080095 davis
chuser groups=finance,accounting davis
chuser -R LDAP rlogin=false 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 | 包含用户的环境属性。 |
chfn 命令、chgroup 命令、chgrpmem 命令、chsh 命令、lsgroup 命令、lsuser 命令、mkgroup 命令、mkuser 命令、passwd 命令、pwdadm 命令、rmgroup 命令、rmuser 命令、setgroups 命令、setsenv 命令和 su 命令。
要获取有关安装基于 Web 的系统管理器的信息,请参阅《AIX 5L V5.2 基于 Web 的系统管理器管理指南》中的『安装与系统需求』。
《AIX 5L V5.2 安全指南》中的『单机系统安全』。