1502 Remove conversion cruft from manpages
[unleashed.git] / usr / src / man / man4 / project.4
blob60bd5985e482df5d12782ca68f25ecc512a774c2
1 '\" te
2 .\"  Copyright (c) 2005, Sun Microsystems, Inc. All Rights Reserved
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
4 .\"  See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with
5 .\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH PROJECT 4 "May 9, 2005"
7 .SH NAME
8 project \- project file
9 .SH DESCRIPTION
10 .sp
11 .LP
12 The \fBproject\fR file is a local source of project information. The
13 \fBproject\fR file can be used in conjunction with other project sources,
14 including the \fBNIS\fR maps \fBproject.byname\fR and \fBproject.bynumber\fR
15 and the \fBLDAP\fR database \fBproject\fR. Programs use the
16 \fBgetprojent\fR(3PROJECT) routines to access this information.
17 .sp
18 .LP
19 The \fBproject\fR file contains a one-line entry for each project recognized by
20 the system, of the form:
21 .sp
22 .in +2
23 .nf
24 \fIprojname\fR:\fIprojid\fR:\fIcomment\fR:\fIuser-list\fR:\fIgroup-list\fR:\fIattributes\fR
25 .fi
26 .in -2
28 .sp
29 .LP
30 where the fields are defined as:
31 .sp
32 .ne 2
33 .na
34 \fB\fIprojname\fR\fR
35 .ad
36 .RS 14n
37 The name of the project. The name must be a string that consists of
38 alphanumeric characters, underline (_) characters, hyphens (-), and periods
39 (.). The period, which is reserved for projects with special meaning to the
40 operating system, can be used only in the names of default projects for users.
41 \fIprojname\fR cannot contain colons (:) or newline characters.
42 .RE
44 .sp
45 .ne 2
46 .na
47 \fB\fIprojid\fR\fR
48 .ad
49 .RS 14n
50 The project's unique numerical \fBID\fR (\fBPROJID\fR) within the system. The
51 maximum value of the \fIprojid\fR field is \fBMAXPROJID\fR. Project IDs below
52 100 are reserved  for the use of the operating system.
53 .RE
55 .sp
56 .ne 2
57 .na
58 \fB\fIcomment\fR\fR
59 .ad
60 .RS 14n
61 The project's description.
62 .RE
64 .sp
65 .ne 2
66 .na
67 \fB\fIuser-list\fR\fR
68 .ad
69 .RS 14n
70 A comma-separated list of users allowed in the project. With the exception of
71 the special projects referred to below, an empty field indicates no users are
72 allowed. See note about the use of wildcards below.
73 .RE
75 .sp
76 .ne 2
77 .na
78 \fB\fIgroup-list\fR\fR
79 .ad
80 .RS 14n
81 A comma-separated list of groups of users allowed in the project. With the
82 exception of the special projects referred to below, an empty field indicates
83 no groups are allowed. See note about the use of wildcards below.
84 .RE
86 .sp
87 .ne 2
88 .na
89 \fB\fIattributes\fR\fR
90 .ad
91 .RS 14n
92 A semicolon-separated list of name value pairs. Each pair has the following
93 format:
94 .sp
95 \fIname\fR[=\fIvalue\fR]
96 .sp
97 where \fIname\fR is the arbitrary string specifying the key's name and
98 \fIvalue\fR is the optional key value. An explanation of the valid name-value
99 pair syntax is provided in the \fBUSAGE\fR section of this page. The expected
100 most frequent use of the attribute field is for the specification of resource
101 controls. See \fBresource_controls\fR(5) for a description of the resource
102 controls supported in the current release of the Solaris operating system. You
103 can also use the attribute field for resource caps (see \fBrcapd\fR(1M)) and
104 for the \fBproject.pool\fR attribute (see \fBsetproject\fR(3PROJECT)).
109 Null entries (empty fields) in the \fIuser-list\fR and \fIgroup-list\fR fields,
110 which normally mean "no users" and "no groups", respectively, have a different
111 meaning in the entries for three special projects, \fBuser.\fIusername\fR\fR,
112 \fBgroup.\fIgroupname\fR\fR, and \fBdefault\fR. See \fBgetprojent\fR(3PROJECT)
113 for a description of these projects.
116 Wildcards can be used in user-list and group-list fields of the project
117 database entry. The asterisk (\fB*\fR), allows all users or groups to join the
118 project. The exclamation mark followed by the asterisk (\fB!*\fR), excludes all
119 users or groups from the project. The exclamation mark (\fB!\fR) followed by a
120 username or groupname excludes the specified user or group from the project.
121 See EXAMPLES, below.
124 Malformed entries cause routines that read this file to halt, in which case
125 project assignments specified further along are never made. Blank lines are
126 treated as malformed entries in the \fBproject\fR file, and cause
127 \fBgetprojent\fR(3PROJECT) and derived interfaces to fail.
128 .SH EXAMPLES
130 \fBExample 1 \fRSample \fBproject\fR File
133 The following is a sample \fBproject\fR file:
136 .in +2
138 system:0:System:::
139 user.root:1:Super-User:::
140 noproject:2:No Project:::
141 default:3::::
142 group.staff:10::::
143 beatles:100:The Beatles:john,paul,george,ringo::task.max-lwps=
144     (privileged,100,signal=SIGTERM),(privileged,110,deny);
145     process.max-file-descriptor
147 .in -2
151 Note that the two line breaks in the line that begins with \fBbeatles\fR are
152 not valid in a \fBproject\fR file. They are shown here only to allow the
153 example to display on a printed or displayed page. Each entry must be on one
154 and only one line.
158 An example project entry for \fBnsswitch.conf\fR(4) is:
161 .in +2
163 project: files nis
165 .in -2
169 With these entries, the project \fBbeatles\fR will have members \fBjohn\fR,
170 \fBpaul\fR, \fBgeorge\fR, and \fBringo\fR, and all projects listed in the
171 \fBNIS\fR project table are effectively incorporated after the entry for
172 \fBbeatles\fR.
176 The \fBbeatles\fR project has two values set on the \fBtask.max-lwps\fR
177 resource control. When a task in the \fBbeatles\fR project requests (via one of
178 its member processes) its 100th and 110th LWPs, an action associated with the
179 encountered threshold triggers. Upon the request for the 100th LWP, the process
180 making the request is sent the signal \fBSIGTERM\fR and is granted the request
181 for an additional lightweight process (LWP). At this point, the threshold for
182 110 LWPs becomes the active threshold. When a request for the 110th LWP in the
183 task is made, the requesting process is denied the request--no LWP will be
184 created. Since the 110th LWP is never granted, the threshold remains active,
185 and all subsequent requests for an 110th LWP will fail. (If LWPs are given up,
186 then subsequent requests will succeed, unless they would take the total number
187 of LWPs across the task over 110.) The \fBprocess.max-file-descriptor\fR
188 resource control is given no values. This means that processes entering this
189 project will only have the system resource control value on this \fBrctl\fR.
192 \fBExample 2 \fRProject Entry with Wildcards
195 The following entries use wildcards:
198 .in +2
200 notroot:200:Shared Project:*,!root::
201 notused:300:Unused Project::!*:
203 .in -2
208 In this example, any user except "root" is a member of project "notroot". For
209 the project "notused", all groups are excluded.
211 .SH USAGE
214 The \fBproject\fR database offers a reasonably flexible attribute mechanism in
215 the final name-value pair field. Name-value pairs are separated from one
216 another with the semicolon (;) character. The name is in turn distinguished
217 from the (optional) value by the equals (=) character. The value field can
218 contain multiple values separated by the comma (,) character, with grouping
219 support (into further values lists) by parentheses. Each of these values can be
220 composed of the upper and lower case alphabetic characters, the digits '0'
221 through '9', and the punctuation characters hyphen (-), plus (+), period (.),
222 slash (/), and underscore (_). Example resource control value specifications
223 are provided in EXAMPLES, above, and in \fBresource_controls\fR(5) and
224 \fBgetprojent\fR(3PROJECT).
225 .SH SEE ALSO
228 \fBnewtask\fR(1), \fBprojects\fR(1), \fBprctl\fR(1),
229 \fBgetprojent\fR(3PROJECT), \fBsetrctl\fR(2), \fBunistd.h\fR(3HEAD),
230 \fBnsswitch.conf\fR(4), \fBresource_controls\fR(5)