用户文件
用途
包含扩展的用户属性。
描述
user文件包含扩展用户属性。 user文件是一个 ASCII 文件,其中包含用户的属性句子。 mkuser命令在该文件中为每个新用户创建一个分节,并使用 "/usr/lib/security/mkuser.default文件中定义的默认属性初始化其属性。
/etc/security/user文件中的每一节都由用户名和冒号(:
)标识,并包含 "Attribute=Value
形式的属性。 每个属性值对都由换行符结束,并且每个节都由一个附加的换行符结束。 有关一节的示例,请参阅示例部分。
该文件支持缺省节。 如果没有为用户定义某个属性,那么将使用该属性的缺省值。
属性
如果具有适当的权限,可以设置以下用户属性:
项 | 描述 |
---|---|
account_locked | 指示用户帐户是否已锁定。 以下是 "account_locked字段的可能值:
|
admin | 定义用户的管理状态。 以下是 "admin字段的可能值:
|
admgroups | 列出用户管理的组。 Value 参数是逗号分隔的组名称列表。 有关组名的其他信息,请参阅 "/etc/security/group文件的 "adms属性。 |
auditclasses | 列示用户的审计类。 Value 参数是以逗号分隔的类的列表,或者是用于指示所有审计类的值 ALL 。 |
auth1 | 列出用于认证用户的其他必需方法。 auth1属性已被弃用,今后的版本可能不再支持该属性。 必须使用 "SYSTEM属性。 如果 "auth1属性指定的任何方法失败,则身份验证过程失败。 Value参数是以逗号分隔的方法和名称对列表,格式为 " auth1和 "auth2属性的有效验证方法在 "/etc/security/login.cfg文件中定义。 |
auth2 | 列出用于认证用户的其他可选方法。 auth2属性已被弃用,今后的版本可能不再支持该属性。 必须使用 "SYSTEM属性。 如果 "auth2属性指定的任何方法失败,身份验证过程不会失败。 Value参数是以逗号分隔的方法和名称对列表,格式为 " |
core_compress | 启用或禁用核心文件压缩。 该属性的有效值为"开 "和"关"。 当 "core_compress属性值为"开 "时,将启用核心文件压缩;否则,将禁用压缩。 缺省值为 off。 |
core_path | 启用或禁用核心文件路径规范。 该属性的有效值为 "开 "和 "关"。 如果 "core_path字段的值为 "开",则核心文件将放置在 "core_pathname字段指定的目录中。 否则,核心文件将放在用户的当前工作目录下。 缺省值为 off。 |
core_pathname | 如果 "core_path属性设置为开,则指定用于放置核心文件的位置。 如果未设置 "core_pathname文件,且 "core_path文件设置为"开",则核心文件将放置在用户的当前工作目录中。 该属性限制为 256 个字符。 |
core_naming | 选择核心文件命名策略。 该属性的有效值为 On 和 Off。 在表单 core.pid.time 中,值 On 启用核心文件命名,与 CORE_NAMING 环境变量执行的操作相同。 值 Off 使用 core 的缺省名称。 |
daemon | 表示Name参数指定的用户是否可以使用 "cron守护进程或 "src(系统资源控制器)守护进程执行程序。 以下是 "daemon字段的可能值:
|
dce_export | 在 DCE 导出操作期间,允许 DCE 注册表用 DCE 用户信息覆盖本地用户信息。 以下是 "dce_export字段的可能值:
|
dictionlist | 定义组合限制在检查新密码时使用的密码字典。 密码字典是以逗号分隔的绝对路径名的列表,从左到右进行求值。 所有字典文件和目录都必须对除 root 用户之外的所有用户进行写保护。 字典文件的格式为每行一个单词。 该词在第一列开始,并以换行符终止。 对于密码 7 仅支持 7 位 ASCII 字。 如果系统中安装了文本处理功能,建议使用 "/usr/share/dict/words字典文件。 通过在字典文件中添加关键字 $
USER ,可以禁止在密码中使用用户名。 关键字 "USER 不能是字典文件中任何词条或模式的一部分。 如果在字典文件中提到了正则表达式,那么在密码中也可能不允许使用该正则表达式。 区分字典文件中的单词和模式。 模式的第一个字符为 "* 。 例如,如果管理员希望禁止任何以 "123 结尾的密码,那么管理员可以在字典文件中提及以下条目:
首先," |
minloweralpha | 定义新密码中小写字母字符的最少数量。 该值是十进制整数字符串。 缺省值为 1。 范围为 0 至 PW_PASSLEN。 |
minupperalpha | 定义新密码中大写字母字符的最少数量。 该值是十进制整数字符串。 缺省值为 1。 范围为 0 至 PW_PASSLEN。 |
mindigit | 定义必须在新密码中的最小数位数。 该值是十进制整数字符串。 缺省值为 1。 范围为 0 至 PW_PASSLEN。 |
minspecialchar | 定义新密码中允许使用的特殊字符的最少数量。 该值是十进制整数字符串。 缺省值为 1。 范围为 0 至 PW_PASSLEN。 备注
|
efs_adminks_access | 定义 "efs_admin密钥存储位置。 可能的值是 "file 。
注意:该属性仅在系统启用加密文件系统EFS) 时有效。
|
efs_allowksmodechangebyuser | 定义用户是否可以更改该方式。 可能的值如下所示:
注: 仅当系统已启用 EFS时,此属性才有效。
|
efs_file_algo | 用于定义用于生成文件保护密钥的算法。 可能的值如下所示:
注: 仅当系统已启用 EFS时,此属性才有效。
|
efs_initialks_mode | 定义用户密钥库的初始方式。 以下是可能的值:
注意:
|
efs_keystore_access | 定义用户密钥库位置。 以下是可能的值:
注: 仅当系统已启用 EFS时,此属性才有效。
|
efs_keystore_algo | 定义在创建密钥库时用于生成用户专用密钥的算法。 可能的值如下所示:
注意:
|
expires | 标识帐户的截止日期。 值参数是MMDDhhmmyy格式的 10 个字符字符串,其中MM表示月,DD 表示日,hh表示时,mm表示分,yy表示 1939 年至 2038 年的最后两位数。 所有字符都是数字。 如果 Value 参数为 0,那么帐户不到期。 缺省值为 0。 更多信息,请参阅 "date命令。 |
histexpire | 指定用户不能重复使用密码的期限(以周为单位)。 该值是十进制整数字符串。 缺省值为 52。 |
histsize | 指定用户不能重复使用的密码次数。 该值是十进制整数字符串。 缺省值为 4。 |
login | 指示用户是否可以使用 login 命令登录到系统。 以下是可能的值:
|
logintimes | 指定允许用户访问系统的时间、日期或两者。 该值是以逗号分隔的以下格式的条目列表:
The 日 variable must be one digit between 0 and 6 that represents one of the days of the week. 0 (零) 表示星期天, 6 表示星期六。 时间变量为 24 小时军用时间(17:00 为下午 5:00)。 需要前导零。 例如,您必须输入 " 日期变量是一个四位数字符串,格式为mmdd,其中mm代表日历月份,dd代表日数。 例如," 该列表中的条目指定了允许或拒绝用户访问系统的时间。 前面没有 " |
loginretries | 定义在系统锁定帐户之前,最后一次成功登录之后允许的未成功登录尝试数。 该值是十进制整数字符串。 零或负值指示不存在限制。 一旦用户的账户被锁定,用户就无法登录,直到系统管理员将 "/etc/security/lastlog文件中用户的 "unsuccessful_login_count 属性重置为小于 "loginretries的值。 要重置 "unsuccessful_login_count 属性,请输入以下命令:
|
maxage | 定义密码的最长寿命(以周为单位)。 到该时间必须更改密码。 该值是十进制整数字符串。 缺省值为 13 ,表示最长寿命为 13 周。 |
maxexpired | 定义用户可以更改过期密码的 "maxage值之外的最长时间(以周为单位)。 在该定义的时间后,只有管理用户可以更改密码。 该值是十进制整数字符串。 缺省值为 4。 如果 maxexpired 属性为 0,那么当达到 maxage 值时,密码到期。 如果 maxage 属性为 0,那么忽略 maxexpired 属性。 |
maxrepeats | 定义新密码中字符可以重复的最大次数。 由于值 0 是无意义的,所以缺省值 8 指示没有最大次数。 该值是十进制整数字符串。 |
minage | 定义在可以更改之前,密码必须的最短寿命(以周为单位)。 该值是十进制整数字符串。 缺省值为 4。 |
minalpha | 定义必须在新密码中的最小字母字符数。 该值是十进制整数字符串。 缺省值为 2。 |
mindiff | 定义新密码中需要包含的旧密码中没有的字符的最小数量。 该值是十进制整数字符串。 缺省值为值 0,表示无最小值。 |
minlen | 定义密码的最小长度。 该值是十进制整数字符串。 缺省值为 10。 允许的最大值为 "PW_PASSLEN属性。 该属性由 "minalpha和 "minother属性值的总和决定。 如果这些值的总和大于 "minlen属性值,则最小长度将设置为结果。 注:"PW_PASSLEN属性在 "/usr/include/userpw.h中定义。 PW_PASSLEN属性的值由 "/etc/security/login.cfg中定义的全系统密码算法决定。
密码的最小长度由 "minlen属性决定,且不得大于 "PW_PASSLEN属性。 If the sum of the minalpha and minother attributes is greater than the PW_PASSLEN attribute, then the minother attribute is reduced to the difference of the PW_PASSLEN and minalpha attributes. |
minother | 定义新密码中允许使用的最少非字母字符数。 该值是十进制整数字符串。 缺省值为值 0,表示无最小值。 备注
|
projects | 定义用户进程可分配给的项目列表。 该值是逗号分隔的项目名称的列表,并且从左到右进行求值。 项目名称必须是系统中定义的有效项目名称。 如果在列表中发现无效的项目名称,"user命令会将其报告为错误。 |
pwdchecks | 定义对新密码执行的密码限制方法。 该值是逗号分隔的方法名的列表,并且从左到右评估。 方法名是绝对路径名或相对于可执行装入模块的 /usr/lib 路径名。 |
pwdwarntime | 定义系统发出警告要求密码更改之前的天数。 该值是十进制整数字符串。 零或负值指示不发出任何消息。 该值必须小于 "maxage和 "minage属性之差。 大于此差值的值将被忽略,当达到 "minage值时将发出一条信息。 |
registry | 定义在其中管理用户的认证注册表。 它用于将远程管理的用户解析为本地管理的域。 当网络服务意外故障或网络数据库在本地复制时,可能会出现这种情况。 示例值为 files , NIS 或 DCE 。 |
rlogin | 允许使用 "telnet或 "rlogin命令从远程访问账户。 以下是可能的值:
|
su | 指示另一个用户是否可以使用 su 命令切换到指定的用户帐户。 以下是 "su字段的可能值:
|
sugroups | 列出可使用 "su属性切换到指定用户帐户的组。 价值参数是一个以逗号分隔的组名列表,或者用 "ALL 表示所有组。 组名前的 "! (感叹号)表示排除该组。 如果未指定该属性,所有组都可以通过 "su属性切换到该用户账户。 |
SYSTEM | 定义用于用户的系统认证机制。 该值可能是一个表达式,用于描述要使用的身份验证方法,也可能是关键字 " 无论 "auth1和 "auth2属性的值如何,"SYSTEM机制始终用于验证用户身份。 如果 "SYSTEM属性设置为 " 方法名称 "compat、"files和 "NIS由安全库提供。 其他方法可在文件 "/usr/lib/security/methods.cfg中定义。 使用以下语法指定 "SYSTEM的值:
语法示例如下:
|
tpath | 指示用户的可信路径状态。 以下是可能的值:
|
ttys | 列出可以访问名称参数指定账户的终端。 Value 参数是完整路径名的逗号分隔的列表,或指示所有终端的值 ALL 。 RSH 和 REXEC 的值也可用作终端名称。 终端名称前的 "! (感叹号)表示排除该终端。 如果不指定此属性,那么所有终端可以访问用户帐户。 如果值参数不是 "ALL ,则必须指定 "/dev/pts才能进行网络登录。 |
umask | 确定文件许可权。 该值与创建进程的权限一起,决定了文件创建时的权限。 缺省值为 022。 |
更改用户文件
通过为此定义的命令和子程序访问该文件。 您可以使用以下命令更改 "user文件:
- chuser 命令
- lsuser 命令
- mkuser 命令
- rmuser 命令
mkuser命令在 "/etc/security/user文件中为每个新用户创建一个条目,并用 "/usr/lib/security/mkuser.default文件中定义的属性初始化其属性。 要更改属性值,请使用 "chuser命令。 要显示属性及其值,请使用 "lsuser命令。 要除去一个用户,请使用 rmuser 命令。
要编写影响 "/etc/security/user文件中属性的程序,请使用相关信息部分列出的子程序。
安全性
- 访问控制
user文件必须只授予 root 用户和安全组的成员读 (r) 访问权限。 对其他用户和组的访问权取决于系统的安全策略。 只有 root 用户才有写 (w) 权限。
审计事件
事件 | 信息 |
---|---|
S_USER_WRITE | 文件名 |
示例
- 对于用户 "
dhs
,一个典型的说明如下:dhs: login = true rlogin = false ttys = /dev/console sugroups = security,!staff expires = 0531010090 tpath = on admin = true auth1 = SYSTEM,METH2;dhs
- 要允许除 "/dev/tty0外的所有 ttys 访问用户账户,请修改 ttys 条目,使其读作以下条目:
ttys = !/dev/tty0,ALL
文件
项 | 描述 |
---|---|
/etc/group | 包含组的基本属性。 |
/etc/passwd | 包含基本用户属性。 |
/etc/security/audit/config | 包含有关审计系统配置的信息。 |
/etc/security/environ | 包含用户的环境属性。 |
/etc/security/group | 包含组的扩展属性。 |
/etc/security/limits | 包含用户进程资源限制。 |
/etc/security/login.cfg | 包含用户登录和身份验证的配置信息。 |
/etc/security/passwd | 包含密码信息。 |
/usr/lib/security/mkuser.default | 包含缺省用户配置。 |
/etc/security/user | 包含扩展的用户属性。 |
/etc/security/lastlog | 包含上次登录信息。 |