用户文件
用途
包含扩展的用户属性。
描述
/etc/security/user 文件包含扩展用户属性。 这是一个 ASCII 文件,它包含用户的属性节。 mkuser 命令在此文件中为每个新用户创建一个节,并使用 /usr/lib/security/mkuser.default 文件中定义的缺省属性来初始化其属性。
/etc/security/user 文件中的每个节都由用户名标识,后跟 : (冒号) ,并包含格式为 Attribute=Value的属性。 每个属性值对都由换行符结束,并且每个节都由一个附加的换行符结束。 要获取节的示例,请参阅 示例 部分。
该文件支持缺省节。 如果没有为用户定义某个属性,那么将使用该属性的缺省值。
属性
如果具有适当的权限,可以设置以下用户属性:
| 项 | 描述 |
|---|---|
| 账户已锁定 | 指示是否锁定了用户帐户。 可能值包括:
|
| 管理 | 定义用户的管理状态。 可能的值为:
|
| admgroups | 列示用户所管理的组。 Value 参数是逗号分隔的组名称列表。 有关组名的其他信息,请参阅 /etc/security/group 文件的 adms 属性。 |
| auditclasses | 列示用户的审计类。 Value 参数是逗号分隔的类列表,或者值 ALL 表示所有审计类。 |
| auth1 | 列出用于认证用户的其他必需方法。 已不推荐使用 auth1 属性,在将来的发行版中可能不支持此属性。 应该使用 系统 属性来代替。 如果 auth1 属性指定的任何方法都失败,那么认证过程将失败。 值 参数是一个以逗号分隔的 方法;姓名 对列表。 Method 参数是认证方法的名称。 Name 参数是要认证的用户。 如果未指定 姓名 参数,那么将使用正在进行认证的用户的名称。 auth1 和 auth2 属性的有效认证方法在 /etc/security/login.cfg 文件中定义。 |
| auth2 | 列出用于认证用户的其他可选方法。 已不推荐使用 auth2 属性,在将来的发行版中可能不支持此属性。 应该使用 系统 属性来代替。 如果由 auth2 属性指定的任何方法失败,那么认证过程将不会失败。 值 参数是一个以逗号分隔的 方法;姓名 对列表。 Method 参数是认证方法的名称。 Name 参数是要认证的用户。 如果未指定 姓名 参数,那么将使用正在进行认证的用户的名称。 |
| core_compress | 启用或禁用核心文件压缩。 该属性的有效值为 On 和 Off。 如果该属性的值为 On,那么压缩已启用;否则为禁用。 该属性的缺省值为 Off。 |
| core_path | 启用或禁用核心文件路径规格。 该属性的有效值为 On 和 Off。 如果该属性的值为 On,那么核心文件将放置在由 core_pathname 指定的目录中(该功能已启用);否则,核心文件将放置在用户的当前工作目录中。 该属性的缺省值为 Off。 |
| core_pathname | 如果 core_path 属性设置为 On,那么将位置指定为用于放置核心文件。 如果该属性未设置且 core_path 设置为 On,那么核心文件将放置在用户的当前工作目录中。 该属性限制为 256 个字符。 |
| core_naming | 选择核心文件命名策略。 该属性的有效值为 On 和 Off。 在表单 core.pid.time 中,值 On 启用核心文件命名,与 CORE_NAMING 环境变量执行的操作相同。 值 Off 使用 core 的缺省名称。 |
| 守护程序 | 指示由 姓名 参数指定的用户是可以使用 Cron 守护程序还是 源 (系统资源控制器) 守护程序执行程序。 可能的值为:
|
| dce_export | 在 DCE 导出操作期间,允许 DCE 注册表用 DCE 用户信息覆盖本地用户信息。 可能的值为:
|
| dictionlist | 定义检查新密码时由组合限制使用的密码字典。 密码字典是以逗号分隔的绝对路径名的列表,从左到右进行求值。 所有字典文件和目录都必须对除 root 用户之外的所有用户进行写保护。 字典文件的格式为每行一个单词。 该词在第一列开始,并以换行符终止。 对于密码 7 仅支持 7 位 ASCII 字。 如果在系统上安装了文本处理,那么建议的字典文件是 /usr/share/dict/words 文件。 通过在字典文件中添加关键字为 "$USER" 的条目,可以在密码中不允许使用用户名。 此关键字 "$USER" 不能包含在字典文件中的条目的任何单词或模式中。 如果在字典文件中提到了正则表达式,那么在密码中也可能不允许使用该正则表达式。 要进行区分,请在字典文件中的单词和模式之间进行区分。 将以 ‘*’ 作为第一个字符来指示模式。 例如,如果管理员希望不允许任何以 "123" 结尾的密码,那么他/她可以在字典文件中提到以下条目: 第一个 “*” 将用于指示模式条目,其余部分将是模式 (即 “.*123”)。 如果在系统上安装了文本处理,那么建议的字典文件是 /usr/share/dict/words 文件。 |
| minloweralpha | 定义必须在新密码中的最少小写字母字符数。 该值是十进制整数字符串。 缺省值为值 0,表示无最小值。 范围:0 到 PW_PASSLEN。 |
| minupperalpha | 定义必须在新密码中的最小大写字母字符数。 该值是十进制整数字符串。 缺省值为值 0,表示无最小值。 范围:0 到 PW_PASSLEN。 |
| mindigit | 定义必须在新密码中的最小数位数。 该值是十进制整数字符串。 缺省值为值 0,表示无最小值。 范围:0 到 PW_PASSLEN。 |
| minspecialchar | 定义必须在新密码中的最小特殊字符数。 该值是十进制整数字符串。 缺省值为值 0,表示无最小值。 范围:0 到 PW_PASSLEN。 |
| efs_管理员权限访问 | 定义 efs_admin 密钥库位置。 只能有一个值:
注: 仅当系统已启用 EFS时,此属性才有效。
|
| efs_允许用户更改窗口模式 | 定义用户是否可以更改该方式。 可能的值如下所示:
注: 仅当系统已启用 EFS时,此属性才有效。
|
| efs_文件算法 | 用于定义用于生成文件保护密钥的算法。 可能的值如下所示:
注: 仅当系统已启用 EFS时,此属性才有效。
|
| efs初始化键盘模式 | 定义用户密钥库的初始方式。 可能的值如下所示:
注意:
|
| efs密钥库访问 | 定义用户密钥库位置。 可能的值如下所示:
注: 仅当系统已启用 EFS时,此属性才有效。
|
| efs密钥库算法 | 定义在创建密钥库时用于生成用户专用密钥的算法。 可能的值如下所示:
注意:
|
| expires | 标识帐户的截止日期。 值 参数是一个由 10 个字符组成的字符串,格式为 MMDDhhmmyy ,其中 MM = 月, DD = 日, 赫 = 小时, 毫米 = 分钟, yy = 1939 年到 2038 年的最后 2 位数。 所有字符都是数字。 如果 Value 参数为 0,那么帐户不到期。 缺省值是 0。 请参阅 日期 命令以获取更多信息。 |
| histexpire | 指定用户不能重复使用密码的时间段 (以周为单位)。 该值是十进制整数字符串。 缺省值为 0,表示不设置时间限制。 |
| histsize | 指定用户无法复用的先前密码的数目。 该值是十进制整数字符串。 缺省值是 0。 |
| login | 指示用户是否可以使用 login 命令登录到系统。 可能的值为:
|
| logintimes | 指定用户有权访问系统的时间和/或天数。 该值是以逗号分隔的以下格式的条目列表:The 日 variable must be one digit between 0 and 6 that represents one of the days of the week. 0 (零) 表示星期天, 6 表示星期六。 time 变量是 24 小时军事时间 (1700 是 5:00 p.m.)。 前导零是必需的。 例如,您必须输入0800,不800. 时间 变量长度必须为 4 个字符,并且必须有一个前导冒号 (:)。 仅由时间规范组成的条目适用于每一天。 时间值的开始时间必须小于结束时间值。 日期 变量是一个四位数字符串,格式为 姆德。 毫米 表示日历月,而 德 表示日号。 例如0001表示 1 月 1 日。 德 可能是00以指示整个月份 (如果条目不是范围) ,或指示月份的第一天或最后一天,具体取决于它是显示为范围的开始还是结束的一部分。 例如,0000指示一月的整个月份。0600指示 6 月的整个月份。0311-0500指示 4 月 11 日至 6 月的最后一天。 此列表中的条目指定了允许或拒绝用户访问系统的次数。 条目前面没有一个!(惊叹号) 允许访问,称为 ALLOW 条目。 带有前缀的条目!(惊叹号) 拒绝对系统的访问,称为 DENY 条目。 该!运算符仅适用于一个条目,而不适用于整个限制列表。 它必须出现在每个条目的开头。 |
| loginretries | 定义在系统锁定帐户之前,最后一次成功登录之后允许的未成功登录尝试数。 该值是十进制整数字符串。 零或负值指示不存在限制。 一旦用户的帐户被锁定,用户将无法登录,直到系统管理员重置用户的帐户unsuccessful_login_count/etc/security/lastlog 文件中的属性小于 loginretries的值。 要实现这一操作,请输入以下命令: |
| maxage | 定义密码的最长寿命(以周为单位)。 到该时间必须更改密码。 该值是十进制整数字符串。 缺省值为 0,表示无最长寿命。 |
| maxexpired | 定义用户可以更改到期密码的超出 maxage 值的最长时间(以周为单位)。 在该定义的时间后,只有管理用户可以更改密码。 该值是十进制整数字符串。 默认值为 -1 ,表示未设置任何限制。 如果 maxexpired 属性为 0,那么当达到 maxage 值时,密码到期。 如果 maxage 属性为 0,那么忽略 maxexpired 属性。 |
| maxrepeats | 定义新密码中字符可以重复的最大次数。 由于值 0 是无意义的,所以缺省值 8 指示没有最大次数。 该值是十进制整数字符串。 |
| minage | 定义在可以更改之前,密码必须的最短寿命(以周为单位)。 该值是十进制整数字符串。 缺省值为值 0,指示无最短寿命。 |
| minalpha | 定义必须在新密码中的最小字母字符数。 该值是十进制整数字符串。 缺省值为值 0,表示无最小值。 |
| mindiff | 定义在新密码中(而非在旧密码中)要求的最小字符数。 该值是十进制整数字符串。 缺省值为值 0,表示无最小值。 |
| minlen | 定义密码的最小长度。 该值是十进制整数字符串。 缺省值为 0 ,指示无最小长度。 允许的最大值为 PW_PASSLEN 属性。 此属性由添加到 明斯 属性值中的 米诺法 属性值确定。 如果这些值之和大于 米伦 属性值,那么会将最小长度设置为结果。 注: PW_PASSLEN 属性在 /usr/include/userpw.h中定义。 PW_PASSLEN 属性的值由 /etc/security/login.cfg 中定义的系统范围密码算法确定。
密码的最小长度由 米伦 属性确定,并且应该永远不会大于 PW_PASSLEN 属性。 如果 minalpha 属性 + minother 属性 大于 PW_PASSLEN 属性,那么 明斯 属性将减少为 PW_PASSLEN 属性-minalpha 属性。 |
| minother | 定义必须在新密码中的最小非字母字符数。 该值是十进制整数字符串。 缺省值为值 0,表示无最小值。 |
| projects | 定义可以将用户的流程分配到的项目列表。 该值是逗号分隔的项目名称的列表,并且从左到右进行求值。 项目名称应该为如系统中定义的有效项目名称。 如果在列表上找到无效的项目名称,那么 user 命令会将其报告为错误。 |
| pwdchecks | 定义强加在新密码上的密码限制方法。 该值是逗号分隔的方法名的列表,并且从左到右评估。 方法名是绝对路径名或相对于可执行装入模块的 /usr/lib 路径名。 |
| pwdwarntime | 定义系统发出警告要求密码更改之前的天数。 该值是十进制整数字符串。 零或负值指示不发出任何消息。 该值必须小于 maxage 和 minage 属性的差。 大于此差值的值将被忽略,并在到达 米纳热 值时发出消息。 |
| registry | 定义在其中管理用户的认证注册表。 它用于将远程受管用户解析为本地受管域。 当网络服务意外失败或在本地复制网络数据库时,可能会发生此情况。 示例值为 files , NIS 或 DCE。 |
| rlogin | 使用 泰尔内 或 登录 命令允许从远程位置访问该帐户。 可能的值为:
|
| su | 指示另一个用户是否可以使用 su 命令切换到指定的用户帐户。 可能的值为:
|
| sugroups | 列出可以使用 苏 命令来切换到指定用户帐户的组。 Value 参数是以逗号分隔的组名列表,或者是用于指示所有组的值 ALL 。 ! 组名前面的 (感叹号) 将排除该组。 如果未指定此属性,那么所有组都可以使用 su 命令切换到此用户帐户。 |
| 系统 | 定义用于用户的系统认证机制。 该值可以是描述要使用哪些认证方法的表达式,也可以是关键字 SYSTEM 机制始终用于认证用户,而不考虑 auth1 和 auth2 属性的值。 如果 SYSTEM 属性设置为 方法名为 孔帕特, 文件 和 NIS 由安全库提供。 可以在文件 /usr/lib/security/methods.cfg中定义其他方法。 使用以下语法来指定 系统 的值: 语法的一个示例为: |
| tpath | 指示用户的可信路径状态。 可能的值为:
|
| ttys | 列出可访问由 姓名 参数指定的帐户的终端。 Value 参数是完整路径名的逗号分隔的列表,或指示所有终端的值 ALL。 RSH 和 REXEC 的值也可用作终端名称。 ! 终端名称前面的 (惊叹号) 将排除该终端。 如果不指定此属性,那么所有终端可以访问用户帐户。 如果 Value 参数不是 ALL,那么/dev/pts必须指定网络登录才能正常工作。 |
| umask | 确定文件许可权。 创建文件时,该值与创建进程的许可权一起确定文件的许可权。 缺省值为 022。 |
更改用户文件
您应该通过为此目的定义的命令和子例程来访问此文件。 您可以使用下列命令来更改 用户 文件:
- chuser
- lsuser
- mkuser
- rmuser
mkuser 命令在 /etc/security/user 文件中为每个新用户创建一个条目,并用 /usr/lib/security/mkuser.default 文件中定义的属性初始化其属性。 要更改属性值,请使用 丘特 命令。 要显示属性和它们的值,请使用 lsuser 命令。 要除去一个用户,请使用 rmuser 命令。
要在 /etc/security/user 文件中编写影响属性的程序,请使用相关信息部分中列出的子例程。
安全性
访问控制
此文件应该仅向 root 用户和安全组的成员授予读 (r) 访问权。 对其他用户和组的访问权取决于系统的安全策略。 只有 root 用户应该具有写 (w) 访问权。
审计事件
| 事件 | 信息 |
|---|---|
| USER_WRITE | 文件名 |
示例
- 对于用户而言,典型节类似于以下示例dhs:
dhs: login = true rlogin = false ttys = /dev/console sugroups = security,!staff expires = 0531010090 tpath = on admin = true auth1 = SYSTEM,METH2;dhs - 要允许所有 ttys ,请执行以下操作:/dev/tty0要访问用户帐户,请更改 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 | 包含上次登录信息。 |