PROJADD(8) Maintenance Commands and Procedures PROJADD(8)

NAME


projadd - administer a new project on the system

SYNOPSIS


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


DESCRIPTION


projadd adds a new project entry to the /etc/project file. If the
files backend is being used for the project database, the new project
is available for use immediately upon the completion of the projadd
command.

OPTIONS


The following options are supported:

-c comment
Add a project comment. Comments are
stored in the project's entry in the
/etc/project file. Generally, comments
contain a short description of the
project and are used as the field for
the project's full name.

Specify comment as a text string.
comment cannot contain a colon (:) or
NEWLINE.


-f filename
Specify the project file to modify. If
no filename is specified, the system
project file, /etc/project, is modified.


-G group[,group]...
Specify a group list for the project.


-K name[=value[,value]...]
Specify an attribute list for the
project. Multiple -K options can be
specified to set values on multiple
keys, such as:

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

Resource control attributes use
parentheses to specify values for a key.
Because many user shells interpret
parentheses as special characters, it is
best to enclose an argument to -K that
contains parentheses with double quotes,
as shown above and in EXAMPLES, below.
See resource_controls(7) for a
description of the resource controls you
can specify for a project.


-n
Syntax check. Check the format of the
existing system project file and
modifications only. The contents of the
existing project file, such as user
names, group names, and resources that
are specified in the project attributes
are not checked.


-o
This option allows the project ID
specified by the -p option to be non-
unique within the project file.


-p projid
Set the project ID of the new project.

Specify projid as a non-negative decimal
integer below UID_MAX as defined in
limits.h. projid defaults to the next
available unique number above the
highest number currently assigned. For
example, if projids 100, 105, and 200
are assigned, the next default projid is
201. projids between 0-99 are reserved.


-U user[,user]...
Specify a user list for the project.


OPERANDS


The following operands are supported:

project
The name of the project to create. The project operand is
a string consisting of characters from the set of
alphabetic characters, numeric characters, underline (_),
and hyphen (-). The period ('.') is reserved for projects
with special meaning to the operating system. The first
character of the project name must be a letter. An error
message is displayed if these restrictions are not met.


EXAMPLES


Example 1: Adding a Project




The following command creates the project salesaudit and sets the
resource controls specified as arguments to the -K option.


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


This command would produce the following entry in /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)


Note that the preceding would appear as one line in /etc/project.


Comparing the projadd command and resulting output in /etc/project,
note the effect of the scaling factor in the resource cap (rcap.max-
rss=10GB) and the resource control (process.max-file-
size=(priv,50MB,deny)). Modifiers, such as B, KB, and MB, and scaling
factors are specified in resource_controls(7).


EXIT STATUS


The following exit values are returned:

0
Successful completion.


2
The command syntax was invalid. A usage message for projadd is
displayed.


3
An invalid argument was provided to an option.


4
The projid given with the -p option is already in use.


5
The project files contain an error. See project(5).


6
The project to be added, group, user, or resource does not
exist.


9
The project is already in use.


10
Cannot update the /etc/project file.


FILES


/etc/project
System project file


ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | See below. |
+--------------------+-----------------+


Invocation is evolving. Human readable output is unstable.

SEE ALSO


projects(1), project(5), attributes(7), resource_controls(7),
groupadd(8), groupdel(8), groupmod(8), grpck(8), projdel(8),
projmod(8), useradd(8), userdel(8), usermod(8)

NOTES


In case of an error, projadd prints an error message and exits with a
non-zero status.


projadd adds a project definition only on the local system. If a
network name service is being used to supplement the local
/etc/project file with additional entries, projadd cannot change
information supplied by the network name service.

January 7, 2018 PROJADD(8)

tribblix@gmail.com :: GitHub :: Privacy