Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
project(4)			 File Formats			    project(4)

       project - project file

       The  project file is a local source of project information. The project
       file can	be used	in conjunction with other project  sources,  including
       the  NIS	maps project.byname and	project.bynumber and the LDAP database
       project.	Programs use the getprojent(3PROJECT) routines to access  this

       The  project file contains a one-line entry for each project recognized
       by the system, of the form:


       where the fields	are defined as:

	     The name of the project. Allowable	project	names must begin  with
	     a	letter,	and may	be composed of any letter or digit and the un-
	     derscore character. The period ('.')  is  reserved	 for  projects
	     with special meaning to the operating system.

	     The project's unique numerical ID (PROJID)	within the system.

	     The project's description.

	     A	comma-separated	list of	users allowed in the project. With the
	     exception of the special projects referred	 to  below,  an	 empty
	     field  indicates  no users	are allowed. See note about the	use of
	     wildcards below.

	     A comma-separated list of groups of users allowed in the project.
	     With  the exception of the	special	projects referred to below, an
	     empty field indicates no groups are allowed. See note  about  the
	     use of wildcards below.

	     A semicolon-separated list	of name	value pairs. Each pair has the
	     following format:


	     where name	is the arbitrary string	specifying the key's name  and
	     value  is	the  optional  key  value. An explanation of the valid
	     name-value	pair syntax is provided	in the USAGE section  of  this
	     page.  The	 expected  most	frequent use of	the attribute field is
	     for the specification of resource controls.

       The maximum value of the	projid field is	MAXPROJID.

       Null entries (empty fields) in the  user-list  and  group-list  fields,
       which  normally	mean  "no users" and "no groups", respectively,	have a
       different meaning in the	entries	for three special projects, user.user-
       name,  group.groupname, and default. See	getprojent(3PROJECT) for a de-
       scription of these projects.

       Wildcards can be	used in	user-list and group-list fields	of the project
       database	 entry.	 The  asterisk (*), allows all users or	groups to join
       the project. The	exclamation mark followed by the  asterisk  (!*),  ex-
       cludes  all  users or groups from the project. The exclamation mark (!)
       followed	by a username or groupname  excludes  the  specified  user  or
       group from the project. See EXAMPLES, below.

       Malformed  entries cause	routines that read this	file to	halt, in which
       case project assignments	specified further along	are never made.	 Blank
       lines  are  treated as malformed	entries	in the project file, and cause
       getprojent(3PROJECT) and	derived	interfaces to fail.

       Example 1: Sample project File

       The following is	a sample project file:

       noproject:2:No Project:::
       beatles:100:The Beatles:john,paul,george,ringo::task.max-lwps=

       Note that the line break	in the line that begins	with  beatles  is  not
       valid  in a project file. It is shown here only to allow	the example to
       display on a printed or displayed page. Each entry must be on  one  and
       only one	line.

       An example project entry	for nsswitch.conf(4) is:

       project:	files nis

       With  these  entries, the project beatles will have members john, paul,
       george, and ringo, and all projects listed in the NIS project table are
       effectively incorporated	after the entry	for beatles.

       The  beatles  project  has two values set on the	task.max-lwps resource
       control.	When a task in the beatles project requests (via  one  of  its
       member  processes)  its 100th and 110th LWPs, an	action associated with
       the encountered threshold triggers.  Upon the  request  for  the	 100th
       LWP,  the  process making the request is	sent the signal	SIGTERM	and is
       granted the request for an additional  lightweight  process  (LWP).  At
       this  point,  the  threshold for	110 LWPs becomes the active threshold.
       When a request for the 110th LWP	in the task is	made,  the  requesting
       process	is denied the request--no LWP will be created. Since the 110th
       LWP is never granted, the threshold remains active, and all  subsequent
       requests	for an 110th LWP will fail. (If	LWPs are given up, then	subse-
       quent requests will succeed, unless they	would take the total number of
       LWPs across the task over 110.)

       Example 2: Project Entry	with Wildcards

       The following entries use wildcards:

       notroot:200:Shared Project:*,!root::
       notused:300:Unused Project::!*:

       In  this	 example,  any user except "root" is a member of project "non-
       root". For the project "notused", all groups are	excluded.

       The project database offers a reasonably	flexible  attribute  mechanism
       in the final name-value pair field. Name-value pairs are	separated from
       one another with	the semicolon (;) character. The name is in turn  dis-
       tinguished  from	the (optional) value by	the equals (=) character.  The
       value field can contain multiple	values	separated  by  the  comma  (,)
       character,  with	grouping support (into further values lists) by	paren-
       theses. Each of these values can	be composed of	the  upper  and	 lower
       case alphabetic characters, the digits '0' through '9', and the punctu-
       ation characters	hyphen (-), plus (+), period (.), slash	(/),  and  un-
       derscore	 (_).  Example	resource control value specifications are pro-
       vided in	EXAMPLES, above, and in	the getprojent(3PROJECT) manual	page.

       newtask(1),     projects(1),	getprojent(3PROJECT),	   setrctl(2),
       unistd(3HEAD), nsswitch.conf(4)

SunOS 5.9			  11 Dec 2001			    project(4)


Want to link to this manual page? Use this URL:

home | help