projmod man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

PROJMOD(1M)							   PROJMOD(1M)

NAME
       projmod - modify a project's information on the system

SYNOPSIS
       projmod [-n] [-A|-f filename | -]

       projmod [-n] [-A|-f filename | -] [-p projid [-o]]
	    [-c comment] [-a|-s|-r] [-U user [,user]... ]
	    [-G group [,group]... ]
	    [ [-K name [=value [,value]...]...]]
	    [-l new_projectname] project

DESCRIPTION
       The  projmod  utility  modifies	a  project's definition on the system.
       projmod changes the definition of the specified project and  makes  the
       appropriate project-related system file and file system changes.

OPTIONS
       The following options are supported:

       -A
				    Apply  the project's resource controls, as
				    defined in the system's project  database,
				    to the project if it is active.

       -a
				    Specify    that    the    users,   groups,
				    attributes, or attribute values  specified
				    by	the  -U,  -G  or  -K options should be
				    added to the project, rather than  replac‐
				    ing the existing member or attribute list.

       -c comment
				    Specify  comment  as a text string. Gener‐
				    ally, comment contains a short description
				    of the project. This information is stored
				    in the project's /etc/project entry.

       -f filename | -
				    Specify the project file to modify or val‐
				    idate or specify input from stdin for val‐
				    idation. As noted under OPERANDS,  if  you
				    do not specify a project in a projmod com‐
				    mand line, projmod validates the  argument
				    to -f.  If you do not use this option, the
				    system project file, /etc/project, is mod‐
				    ified.

       -G group [,group...]
				    Specify   a	 replacement  list  of	member
				    groups of the project. When used  in  con‐
				    junction  with  the -a or -r options, this
				    option specifies a list of	groups	to  be
				    added or removed from the project.

       -K name[=value[,value...]
				    Specify  a	replacement  list  of  project
				    attributes for the project. When  used  in
				    conjunction	  with	 the  -a,  -r,	or  -s
				    options, this option specifies a  list  of
				    attribute  values to be added, removed, or
				    replaced in the project.  Attributes  must
				    be	delimited  by semicolons (;). Multiple
				    -K options can be specified to  set,  add,
				    remove,  or	 substitute values on multiple
				    keys, such as:

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

				    Resource control attributes use  parenthe‐
				    ses	 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  parenthe‐
				    ses with double quotes, as shown above and
				    in	EXAMPLES,  below.  See	 resource_con‐
				    trols(5) for a description of the resource
				    controls you can specify for a project.

       -l new_projectname
				    Specify  the  new  project	name  for  the
				    project. The new_projectname argument is a
				    string consisting of characters  from  the
				    set	  of  alphabetic  characters,  numeric
				    characters, period (.), underline (_), and
				    hyphen  (-). The first character should be
				    alphabetic. An error message is written if
				    these   restrictions   are	not  met.  The
				    project name must also  be	unique	within
				    the project file.

       -n
				    Syntax  check.  Check  the	format	of the
				    existing system project file and modifica‐
				    tions  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	speci‐
				    fied  by  the  -p  option to be non-unique
				    within the project file.

       -p projid
				    Specify a new project ID for the  project.
				    It	must be a non-negative decimal integer
				    less than MAXUID as	 defined  in  param.h.
				    This  value	 must  be  unique  within  the
				    project file if the -o option is not spec‐
				    ified.

       -r
				    Specify    that    the    users,   groups,
				    attributes, or attribute values  specified
				    by	the  -U,  -G  or  -K options should be
				    removed  from  the	project,  rather  than
				    replacing the existing member or attribute
				    list.

       -s
				    Specify that the list of attributes speci‐
				    fied  by  the  -K option should have their
				    values replaced. If the attributes do  not
				    exist,  they  are added as if the a option
				    was used. This option has no effect the -U
				    or -G options.

       -U user [,user...]
				    Specify a replacement list of member users
				    of the project. When used  in  conjunction
				    with  the  -a  or  -r options, this option
				    specifies a list of users to be  added  or
				    removed from the project.

OPERANDS
       The following operands are supported:

       project
		  An existing project name to be modified or displayed.

       (none)
		  If  no operand is given, the project file is validated with‐
		  out modifying any project.

EXAMPLES
       Example 1 Using the -K Option for Addition of an Attribute Value

       Consider the following project(4) entry:

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

       The preceding would appear as one line in /etc/project.	For  this  and
       the  following  examples,  the  focus is on the attributes field in the
       project entry. That is, the last field, the field  following  the  last
       semicolon.

       The  attributes	field  for  the project salesaudit lists the following
       resource control:

	 task.max-lwps=(priv,1000,signal=KILL)

       The following projmod command adds an action clause  to	the  preceding
       entry:

	 # projmod -a -K "task.max-lwps=(priv,100,deny)" salesaudit

       ...with the resulting attributes field in the entry for salesaudit:

	 task.max-lwps=(priv,100,deny),(priv,1000,signal=KILL)

       Example	2  Using  the  -K  Option for the Substitution of an Attribute
       Value

       Assume an attributes field in a project(4) entry for the project	 sale‐
       saudit that lists the following resource control:

	 task.max-lwps=(priv,100,deny),(priv,1000,signal=KILL)

       The  following  projmod command substitutes the action clause specified
       in the command for the action clauses in the preceding entry:

	 # projmod -s -K "task.max-lwps=(priv,500,signal=SIGSTOP)" salesaudit

       ...with the resulting attributes field in the entry for salesaudit:

	 task.max-lwps=(priv,500,signal=SIGSTOP)

       Example 3 Using the -K Option for Removal of an Attribute Value

       Assume an attributes field in a project(4) entry for a project salesau‐
       dit that lists the following resource control:

	 task.max-lwps=(priv,100,deny),(priv,1000,signal=KILL)

       The  following projmod command removes the first action clause from the
       preceding entry:

	 # projmod -r -K "task.max-lwps=(priv,100,deny)" salesaudit

       ...with the resulting attributes field in the entry for salesaudit:

	 task.max-lwps=(priv,1000,signal=KILL)

       Example 4 Specifying Multiple Attribute Values

       Suppose you want to achieve the following  resource  controls  for  the
       project salesaudit:

	 task.max-lwps=(priv,100,deny)
	 process.max-file-size=(priv,50MB,deny)

       The following projmod command adds these resource controls for salesau‐
       dit:

	 # projmod -a -K "task.max-lwps=(priv,100,deny)" \
	 -K "process.max-file-size=(priv,50MB,deny)" salesaudit

       ...with the resulting attributes field in the entry for salesaudit:

	 task.max-lwps=(priv,100,deny);process.max-file-size=(priv,52428800,deny)

       In this example, note the effect of the use of the modifier and scaling
       factor  for  the resource control process.max-file-size. The specifica‐
       tion in projmod:

	 "process.max-file-size=(priv,50MB,deny)"

       ...becomes, in /etc/project:

	 process.max-file-size=(priv,52428800,deny)

       That is, 50MB is expanded to 52428800. The modifiers, such as  MB,  and
       scaling	factors	 you  can  use	for resource controls are specified in
       resource_controls(5).

       Example 5 Binding a Pool to a Project

       The following command sets the project.pool attribute for  the  project
       sales.

	 # projmod -a -K project.pool=salespool sales

       Example 6 Evaluating Input from stdin

       The following command uses the -f option without a project name operand
       to evaluate the contents of an NIS projects map.

	 # ypcat project | projmod -f -

EXIT STATUS
       In case of an error, projmod prints an error message and exits with one
       of the following values:

       The following exit values are returned:

       0
	     Successful completion.

       2
	     The  command  syntax  was invalid. A usage message for projmod 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(4).

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

       9
	     The project is already in use.

       10
	     Cannot update the /etc/project file.

FILES
       /etc/group
		       System file containing group definitions

       /etc/project
		       System project file

       /etc/passwd
		       System password file

       /etc/shadow
		       System  file  containing users' encrypted passwords and
		       related information

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ See below.      │
       └────────────────────┴─────────────────┘

       Invocation is evolving. Human readable output is unstable.

SEE ALSO
       groupadd(1M),  groupdel(1M),  groupmod(1M),  projadd(1M),  projdel(1M),
       useradd(1M),    userdel(1M),    usermod(1M),   passwd(4),   project(4),
       attributes(5), resource_controls(5)

NOTES
       The projmod utility modifies project  definitions  only	in  the	 local
       /etc/project  file.  If	a  network name service such as NIS or LDAP is
       being used to supplement the local files with additional entries, proj‐
       mod  cannot  change  information	 supplied by the network name service.
       However projmod verifies the uniqueness of project name and project  ID
       against the external name service.

				 Feb 22, 2007			   PROJMOD(1M)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net