如果在 nsswitch.conf 文件中选择 files 作为 project 数据库源,则登录过程会在 /etc/project 文件中搜索项目信息。有关更多信息,请参见 projects(1) 和 project(4) 手册页。
对于系统识别的每个项目,project 文件均包含以下形式的单行条目:
projname:projid:comment:user-list:group-list:attributes
字段定义如下:
项目的名称。该名称必须是由字母数字字符、下划线 (_) 字符、连字符 (-) 和句点 (.) 组成的字符串。句点是为对操作系统有特殊意义的项目保留的,只能将其用在用户的缺省项目名称中。projname 不能包含冒号 (:) 或换行符。
系统内项目的唯一数字 ID (PROJID)。projid 字段的最大值为 UID_MAX (2147483647)。
项目的说明。
允许参与项目的用户的列表(以逗号分隔)。
此字段中可以使用通配符。星号 (*) 允许所有用户参与项目。感叹号后跟星号 (!*) 可将所有用户排除在项目之外。感叹号 (!)后跟用户名可将指定用户排除在项目之外。
允许参与项目的用户组的列表(以逗号分隔)。
此字段中可以使用通配符。星号 (*) 允许所有组参与项目。感叹号后跟星号 (!*) 可将所有组排除在项目之外。感叹号 (!)后跟组名可将指定组排除在项目之外。
以分号分隔的名称-值对列表,如资源控制(请参见Chapter 6, 关于资源控制)。name 是指定与对象相关的属性的任意字符串,value 是该属性的可选值。
name[=value]
在名称-值对中,名称仅可包含字母、数字、下划线和句点。句点通常用作资源控制 (rctl) 的类别和子类别之间的分隔符。属性名称的第一个字符必须是字母。名称区分大小写。
可以在值中使用逗号和括号结构以便确立优先级。
分号用于分隔名称-值对。不能在值定义中使用分号。冒号用于分隔项目字段。不能在值定义中使用冒号。
以下示例显示了缺省的 /etc/project 文件:
system:0:::: user.root:1:::: noproject:2:::: default:3:::: group.staff:10::::
以下示例显示了在结尾添加了项目条目的缺省的 /etc/project 文件:
system:0:::: user.root:1:::: noproject:2:::: default:3:::: group.staff:10:::: user.ml:2424:Lyle Personal::: booksite:4113:Book Auction Project:ml,mp,jtd,kjh::
您还可以将资源控制和属性添加到 /etc/project 文件:
要为项目添加资源控制,请参见设置资源控制。
要使用 rcapd(1M) 中所述的资源上限设置守护进程为项目定义物理内存资源上限,请参见限制项目物理内存使用情况的属性。
要将 project.pool 属性添加到项目条目,请参见创建配置。