linux相关,  个人笔记

chuser命令详解

`chuser 命令

用途
更改用户属性。
语法
chuser [ -R load_module ] Attribute=Value ... Name

描述
注意: 如果在您的系统上安装了网络信息服务(NIS)数据库,不要使用 chuser 命令。
chuser 命令更改 Name 参数标识的用户的属性。用户名必须已作为 8 个字节或少于 8 个字节的字母数字字符串存在。要更改属性,请使用 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
要使用备用“识别和认证”(I&A)机制更改用户的属性,可以使用 -R 标志指定定义用户的 I&A 装入模块。如果不指定 -R 标志,则 chuser 命令将用户视作本地用户。装入模块在 /usr/lib/security/methods.cfg 文件中定义。

如果使用 chuser 命令指定单个的不正确的属性或属性值,则该命令不更改任何属性。

可以使用基于 Web 的系统管理器(wsm)中的 用户 应用程序或系统管理界面程序(SMIT)smit chuser 快速路径更改用户特征。

更改用户的限制
要确保用户信息的完整性,则使用 chuser 命令时将应用一些限制。只有 root 用户或具有 UserAdmin 权限的用户才可以使用 chuser 命令执行以下任务:

•通过将 admin 属性设置为 true,使用户为管理用户。
•更改管理用户的任何属性。
•将用户添加到管理组。
管理组是其 admin 设置为 true 属性的组。security 组的成员可以更改非管理用户的属性,并将用户添加到非管理组。

chuser 只管理本地用户数据。不能使用它更改注册表服务器(如 NIS 和 DCE)中的数据。

标志

-R load_module 指定用于更改用户属性的可装入 I&A 模块。
属性
如果具有适当的权限,可以设置以下用户属性:

account_locked 指示是否锁定了用户帐户。可能值包括:
true
用户的帐户已锁定。值 yes、true 和 always 是等价的。拒绝用户访问系统。
false
用户的帐户未锁定。值 no、false 和 never 是等价的。允许用户访问系统。这是缺省值。
admin 定义用户的管理状态。可能值为:
true
用户是管理员。只有 root 用户可以更改定义为管理员的用户的属性。
false
用户不是管理员。这是缺省值。
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 命令定义授权给用户的系统特权(能力)。有效能力为:
CAP_AACCT
已执行的“高级记帐”操作。
CAP_ARM_APPLICATION
进程具有使用 ARM(应用程序响应测量)服务的能力。
CAP_BYPASS_RAC_VMM
进程具有绕过对 VMM 资源用法限制的能力。
CAP_EWLM_AGENT
进程具有使用 EWLM(企业工作负载管理器)AIX 系统服务的能力。此能力通常仅授予运行该 EWLM 产品的“受管服务器组件”的用户标识。
CAP_NUMA_ATTACH
进程具有绑定到特定资源的能力。
CAP_PROPAGATE
子进程继承所有能力。
该值是用逗号分开的零个或多个能力名称的列表。
core 指定用户进程可以创建的最大核心文件的软限制。Value 参数是一个整数,表示 512 字节块的数目。
core_hard 指定用户进程可以创建的最大核心文件。Value 参数是一个整数,表示 512 字节块的数目。
cpu 标识用户进程可以使用的系统单位时间(以秒为单位)的最大量的软限制。Value 参数是一个整数。缺省值是 -1,关闭限制。
cpu_hard 标识用户进程可以使用的系统单位时间(以秒为单位)的对大量。Value 参数是一个整数。缺省值是 -1,关闭限制。
daemon 指示 Name 参数指定的用户是否可以运行使用 cron 守护进程或 src(系统资源控制器)守护进程的程序。可能值为:
true
用户可以启动 cron 和 src 会话。这是缺省值。
false
用户不可以启动 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 命令登录到系统。可能值为:
true
用户可以登录到系统。这是缺省值。
false
用户不能登录到系统。
loginretries 定义在系统锁定帐户之前,最后一次成功登录之后允许的未成功登录尝试数。该值是十进制整数字符串。零或负值指示不存在限制。一旦用户帐户被锁定,用户将不能登录,直到系统管理员将 /etc/security/lastlog 文件中的用户的 unsuccessful_login_count 属性重新设置为小于 loginretries 的值。要实现这一操作,请输入以下命令:

chsec -f /etc/security/lastlog -s username -a \
unsuccessful_login_count=0
logintimes 定义允许用户访问系统的天数和次数。该值是以下格式之一的逗号分隔的条目列表:

![-][:

![][-[]][:

的可能值包括 Jan、F、march、apr 和 s。指示月值为任何缩写的月;然而,对于天和月名称来说,缩写词必须是唯一的。月的范围是可以循环的,如 September-June。月名称不区分大小写。

的可能值包括月的 1-31 天。此值按照指定的月检查。指定月值为 1 个或 2 个字符的字符串。指定 month 值而不指定 daynum 值指示月的第一天或最后一天,这分别取决于该月是否是指定的开始月或结束月。

带有 !(感叹号)前缀的条目拒绝访问系统,称为 DENY 条目。不带有 ! 前缀的条目允许访问,称为 ACCESS 条目。! 前缀适用于单一条目,且必须前缀于每一条目。当前,系统允许每个用户 200 个条目。

此属性是国际化的。可以输入月和天名称,并以为系统设置的语言环境变量中的语言显示。月和天值的相对顺序也是国际化的;接受 格式。

系统以下面的顺序评估这些条目:

1.所有 DENY 条目。如果条目匹配系统时间,则拒绝用户访问,并且不处理 ALLOW 条目。
2.所有 ALLOW 条目,如果无 DENY 条目存在。如果 ALLOW 条目匹配系统时间,则允许用户访问。如果 ALLOW 条目不匹配系统时间,则拒绝用户访问。如果不存在 ALLOW 条目,则允许用户登录。

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 命令从远程位置访问帐户。可能值为:
true
可以远程访问用户帐户。这是缺省的 rlogin 值。
false
不能远程访问用户。
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 命令切换到指定的用户帐户。可能值为:
true
另一个用户可以切换到指定的帐户。这是缺省值。
false
另一个用户不能切换到指定的帐户。
sugroups 列出可以使用 su 命令切换到指定用户帐户的组。Value 参数是组名称的逗号分隔的列表,或指示所有组的值 ALL。组名称前面的 !(感叹号)排除该组。如果不指定此属性,则所有组可以使用 su 命令切换到此用户帐户。
sysenv 标识系统状态(受保护的)环境。Value 参数是在 /etc/security/environ 文件中指定的逗号分隔的 Attribute=Value 对。
tpath 指示用户的可信路径状态。可能值为:
always
用户只可以执行可信的进程。这意味着用户的初始程序在可信的 shell 或一些其它可信的进程中。
no tsh
用户不能调用可信路径上的可信 shell。如果用户在登录后输入安全警告密钥(SAK),则登录会话结束。
nosak
对用户运行的所有进程禁用安全警告密钥(SAK)。如果用户传送可能包含 SAK 序列的二进制数据,则使用该值。这是缺省值。
on
用户具有正常的可信的路径特征,并且可以使用安全警告密钥(SAK)来调用可信路径(输入可信 shell)。
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 模块不支持更改用户的属性,则报告错误。

示例
1.要使用户 smith 能够远程访问此系统,请输入:

chuser rlogin=true smith2.要将 davis 用户帐户的到期日期更改为 1995 年 5 月 1 日 上午 8 时,请输入:

chuser expires=0501080095 davis3.要将 davis 添加到组 finance 和 accounting,请输入:

chuser groups=finance,accounting davis 4.要更改用户 davis(使用 LDAP 装入模块创建)以不允许远程访问,请输入:

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 包含用户的环境属性。
`

chuser命令详解已关闭评论