1project(4) File Formats project(4)
2
3
4
6 project - project file
7
9 The project file is a local source of project information. The project
10 file can be used in conjunction with other project sources, including
11 the NIS maps project.byname and project.bynumber and the LDAP database
12 project. Programs use the getprojent(3PROJECT) routines to access this
13 information.
14
15
16 The project file contains a one-line entry for each project recognized
17 by the system, of the form:
18
19 projname:projid:comment:user-list:group-list:attributes
20
21
22
23 where the fields are defined as:
24
25 projname The name of the project. The name must be a string that
26 consists of alphanumeric characters, underline (_) char‐
27 acters, hyphens (-), and periods (.). The period, which
28 is reserved for projects with special meaning to the
29 operating system, can be used only in the names of
30 default projects for users. projname cannot contain
31 colons (:) or newline characters.
32
33
34 projid The project's unique numerical ID (PROJID) within the
35 system. The maximum value of the projid field is MAXPRO‐
36 JID. Project IDs below 100 are reserved for the use of
37 the operating system.
38
39
40 comment The project's description.
41
42
43 user-list A comma-separated list of users allowed in the project.
44 With the exception of the special projects referred to
45 below, an empty field indicates no users are allowed. See
46 note about the use of wildcards below.
47
48
49 group-list A comma-separated list of groups of users allowed in the
50 project. With the exception of the special projects
51 referred to below, an empty field indicates no groups are
52 allowed. See note about the use of wildcards below.
53
54
55 attributes A semicolon-separated list of name value pairs. Each pair
56 has the following format:
57
58 name[=value]
59
60 where name is the arbitrary string specifying the key's
61 name and value is the optional key value. An explanation
62 of the valid name-value pair syntax is provided in the
63 USAGE section of this page. The expected most frequent
64 use of the attribute field is for the specification of
65 resource controls. See resource_controls(5) for a
66 description of the resource controls supported in the
67 current release of the Solaris operating system. You can
68 also use the attribute field for resource caps (see
69 rcapd(1M)) and for the project.pool attribute (see set‐
70 project(3PROJECT)).
71
72
73
74 Null entries (empty fields) in the user-list and group-list fields,
75 which normally mean "no users" and "no groups", respectively, have a
76 different meaning in the entries for three special projects, user.user‐
77 name, group.groupname, and default. See getprojent(3PROJECT) for a
78 description of these projects.
79
80
81 Wildcards can be used in user-list and group-list fields of the project
82 database entry. The asterisk (*), allows all users or groups to join
83 the project. The exclamation mark followed by the asterisk (!*),
84 excludes all users or groups from the project. The exclamation mark (!)
85 followed by a username or groupname excludes the specified user or
86 group from the project. See EXAMPLES, below.
87
88
89 Malformed entries cause routines that read this file to halt, in which
90 case project assignments specified further along are never made. Blank
91 lines are treated as malformed entries in the project file, and cause
92 getprojent(3PROJECT) and derived interfaces to fail.
93
95 Example 1 Sample project File
96
97
98 The following is a sample project file:
99
100
101 system:0:System:::
102 user.root:1:Super-User:::
103 noproject:2:No Project:::
104 default:3::::
105 group.staff:10::::
106 beatles:100:The Beatles:john,paul,george,ringo::task.max-lwps=
107 (privileged,100,signal=SIGTERM),(privileged,110,deny);
108 process.max-file-descriptor
109
110
111
112 Note that the two line breaks in the line that begins with beatles are
113 not valid in a project file. They are shown here only to allow the
114 example to display on a printed or displayed page. Each entry must be
115 on one and only one line.
116
117
118
119 An example project entry for nsswitch.conf(4) is:
120
121
122 project: files nis
123
124
125
126 With these entries, the project beatles will have members john, paul,
127 george, and ringo, and all projects listed in the NIS project table are
128 effectively incorporated after the entry for beatles.
129
130
131
132 The beatles project has two values set on the task.max-lwps resource
133 control. When a task in the beatles project requests (via one of its
134 member processes) its 100th and 110th LWPs, an action associated with
135 the encountered threshold triggers. Upon the request for the 100th LWP,
136 the process making the request is sent the signal SIGTERM and is
137 granted the request for an additional lightweight process (LWP). At
138 this point, the threshold for 110 LWPs becomes the active threshold.
139 When a request for the 110th LWP in the task is made, the requesting
140 process is denied the request--no LWP will be created. Since the 110th
141 LWP is never granted, the threshold remains active, and all subsequent
142 requests for an 110th LWP will fail. (If LWPs are given up, then subse‐
143 quent requests will succeed, unless they would take the total number of
144 LWPs across the task over 110.) The process.max-file-descriptor
145 resource control is given no values. This means that processes entering
146 this project will only have the system resource control value on this
147 rctl.
148
149
150 Example 2 Project Entry with Wildcards
151
152
153 The following entries use wildcards:
154
155
156 notroot:200:Shared Project:*,!root::
157 notused:300:Unused Project::!*:
158
159
160
161
162 In this example, any user except "root" is a member of project "not‐
163 root". For the project "notused", all groups are excluded.
164
165
167 The project database offers a reasonably flexible attribute mechanism
168 in the final name-value pair field. Name-value pairs are separated from
169 one another with the semicolon (;) character. The name is in turn dis‐
170 tinguished from the (optional) value by the equals (=) character. The
171 value field can contain multiple values separated by the comma (,)
172 character, with grouping support (into further values lists) by paren‐
173 theses. Each of these values can be composed of the upper and lower
174 case alphabetic characters, the digits '0' through '9', and the punctu‐
175 ation characters hyphen (-), plus (+), period (.), slash (/), and
176 underscore (_). Example resource control value specifications are pro‐
177 vided in EXAMPLES, above, and in resource_controls(5) and getpro‐
178 jent(3PROJECT).
179
181 newtask(1), projects(1), prctl(1), getprojent(3PROJECT), setrctl(2),
182 unistd.h(3HEAD), nsswitch.conf(4), resource_controls(5)
183
184
185
186SunOS 5.11 9 May 2005 project(4)