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]...]]... 
projectDESCRIPTION
       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)