手册页部分 1M: 系统管理命令

退出打印视图

更新时间: 2014 年 7 月
 
 

projadd(1M)

名称

projadd - 管理系统中的新项目

用法概要

projadd [-n] [-f filename] [-p projid [-o]] [-c comment] 
     [-U user [,user]... ] [-G group [,group]... ] 
     [ [-K name [=value [,value]...]...]] project

描述

projadd 用于将新项目条目添加到 /etc/project 文件中。如果项目数据库在使用文件后端,新项目将在 projadd 命令完成后立即可用。

选项

支持以下选项:

–c comment

添加项目注释。注释存储在 /etc/project 文件内相应项目的条目中。通常,注释包含项目的简短描述,并用作存储项目完整名称的字段。

comment 指定为文本字符串。comment 不能包含冒号 (:) 或换行符。

–f filename

指定要修改的项目文件。如果没有指定 filename,将修改系统项目文件 /etc/project

–G group[,group...]

指定项目的组列表。

–K name[=value[,value...]

指定项目的属性列表。可以指定多个 –K 选项以设置多个键的值,例如:

-K key1=value1 -K "key2=(value2a),(value2b)"

资源控制属性使用括号来指定键值。由于许多用户 shell 都将括号解释为特殊字符,因此最好使用双引号将包含括号的 –K 参数括起来,如上例和下文的“示例”部分所示。有关可以为项目指定的资源控制的说明,请参见 resource_controls (5)

–n

语法检查。仅检查现有系统项目文件格式和相关修改。不检查现有项目文件内容,例如项目属性中指定的用户名、组名和资源。

–o

此选项允许 –p 选项指定的项目 ID 在项目文件中不唯一。

–p projid

设置新项目的项目 ID。

projid 指定为小于 limits.h 中定义的 UID_MAX 的非负十进制整数。projid 缺省为高于当前指定的最大编号的下一个可用唯一编号。例如,如果指定了 projid 100105200,下一个缺省 projid 将为 201projid 099 是 SunOS 的保留值。

–U user[,user...]

指定项目的用户列表。

操作数

支持下列操作数:

project

要创建的项目的名称。project 操作数是一个由以下字符组成的字符串,字母字符、数字字符、下划线 (_) 和连字符 (-)。句点 ('.') 保留用于对操作系统具有特殊意义的项目。项目名称的第一个字符必须为字母。如果不满足这些限制,将显示错误消息。

示例

示例 1 添加项目

以下命令创建项目 salesaudit 并将资源控制设置为 –K 选项的指定参数。

projadd -p 111 -G sales,finance -c "Auditing Project" \
   -K "rcap.max-rss=10GB" \
   -K "process.max-file-size=(priv,50MB,deny)" \
   -K "task.max-lwps=(priv,100,deny)" salesaudit

此命令将在 /etc/project 中生成以下条目:

salesaudit:111:Auditing Project::sales,finance: \
process.max-file-size=(priv,52428800,deny); \
rcap.max-rss=10737418240;task.max-lwps=(priv,100,deny)

请注意,以上条目在 /etc/project 中将显示为一行。

对比 projadd 命令和 /etc/project 中生成的输出,可以看出比例系数对资源上限 (rcap.max-rss=10GB) 和资源控制 (process.max-file-size=(priv,50MB,deny)) 的作用。修饰符(例如 B、KB 和 MB)以及比例系数是在 resource_controls (5) 中指定的。

退出状态

将返回以下退出值:

0

成功完成。

2

命令语法无效。将显示 projadd 的用法消息。

3

为选项提供的参数无效。

4

使用 –p 选项指定的 projid 已在使用中。

5

项目文件中包含错误。请参见 project(4)

6

要添加的项目、组、用户或资源不存在。

9

项目已在使用中。

10

无法更新 /etc/project 文件。

文件

/etc/project

系统项目文件

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/core-os
接口稳定性
请参见下文。

调用正在发展中。用户可读的输出不稳定。

另请参见

projects(1)groupadd(1M)groupdel(1M)groupmod(1M)grpck(1M)projdel(1M)projmod(1M)useradd(1M)userdel(1M)usermod(1M)project(4)attributes(5)resource_controls (5)

附注

如果出现错误,projadd 将输出错误消息并以非零状态退出。

projadd 仅在本地系统中添加项目定义。如果在使用网络名称服务(例如 NIS 或 LDAP)为本地 /etc/project 文件补充其他条目,projadd 将无法更改网络名称服务提供的信息。