系统管理指南:Oracle Solaris Containers-资源管理和 Oracle Solaris Zones

本地 /etc/project 文件格式

如果在 nsswitch.conf 文件中选择 files 作为 project 数据库源,则登录进程会在 /etc/project 文件中搜索项目信息。有关更多信息,请参见 projects(1)project(4) 手册页。

对于系统识别的每个项目,project 文件均包含以下形式的单行条目:


projname:projid:comment:user-list:group-list:attributes

字段定义如下:

projname

项目的名称。该名称必须是由字母数字字符、下划线 (_) 字符、连字符 (-) 和句点 (.) 组成的字符串。句点是为对操作系统有特殊意义的项目保留的,只能将其用在用户的缺省项目名称中。projname 不能包含冒号 (: ) 或换行符。

projid

系统内项目的唯一数字 ID (PROJID)。projid 字段的最大值为 UID_MAX (2147483647)。

comment

项目的说明。

user-list

允许参与项目的用户的列表(以逗号分隔)。

此字段中可以使用通配符。星号 (*) 允许所有用户参与项目。感叹号后跟星号 (!*) 可将所有用户排除在项目之外。感叹号 (!)后跟用户名可将指定用户排除在项目之外。

group-list

允许参与项目的用户组的列表(以逗号分隔)。

此字段中可以使用通配符。星号 (*) 允许所有组参与项目。感叹号后跟星号 (!*) 可将所有组排除在项目之外。感叹号 (!)后跟组名可将指定组排除在项目之外。

attributes

用分号分隔的名称-值对列表,如资源控制(请参见第 6 章)。name 是指定与对象相关的属性的任意字符串,value 是该属性的可选值。


name[=value]

在名称-值对中,名称仅可包含字母、数字、下划线和句点。句点通常用作资源控制 (rctl) 的类别和子类别之间的分隔符。属性名称的第一个字符必须是字母。名称区分大小写。

可以在值中使用逗号和括号结构以便确立优先级。

分号用于分隔名称-值对。不能在值定义中使用分号。冒号用于分隔项目字段。不能在值定义中使用冒号。


注 –

如果读取此文件的例程遇到格式错误的条目,则这些例程会停止。不会分配错误条目后指定的任何项目。


以下示例显示了缺省的 /etc/project 文件:


system:0:System:::
user.root:1:Super-User:::
noproject:2:No Project:::
default:3::::
group.staff:10::::

以下示例显示了在结尾添加了项目条目的缺省的 /etc/project 文件:


system:0:System:::
user.root:1:Super-User:::
noproject:2:No Project:::
default:3::::
group.staff:10::::
user.ml:2424:Lyle Personal:::
booksite:4113:Book Auction Project:ml,mp,jtd,kjh::

您还可以将资源控制和属性添加到 /etc/project 文件: