1
0
Files
irix-657m-src/eoe/man/man5/projects.5
2022-09-29 17:59:04 +03:00

75 lines
3.0 KiB
Groff

.TH projects 5
.SH NAME
\f3projects\f1 \- introduction to IRIX projects
.SH DESCRIPTION
Many sites need to be able to charge individual departments separately
for their usage of a given system.
Typically, this can be done by billing the total usage for each userid
on the system to the appropriate department.
However, some sites may have users that do work for more than one
department, so billing such a user's total usage to a single
department would not be appropriate.
It would be possible to give this sort of user multiple user IDs or
group IDs, but that can be difficult to manage administratively, and
besides it would be using a security feature of the operating system
to accomplish an accounting function.
Therefore, IRIX has the concept of a \f3project ID\f1.
.PP
A project ID is similar to a group ID, with two major exceptions:
.TP 4
1.
The current project ID is associated with an entire array session, not an
individual process.
.TP
2.
The project ID does not affect access permissions - it is intended mainly
for accounting purposes, and is in fact reported in extended accounting
information (see \f2extacct\f1(5) for details).
.PP
Users have a default project ID associated with their user IDs.
Whenever it is necessary for a user to do work that should be billed to a
different project, the \f2newproj\f1(1) command can be used to switch to
a new project ID.
The user's UID and GID are
unchanged by the newproj command, so access permissisons are unaffected.
The newproj command starts a new shell and array session so that programs
running in the background under the old shell will continue to be
accounted for under the old project ID.
.PP
To prevent users from specifying a project for which they are not
authorized, the \f2newproj\f1 command consults a file (\f3/etc/project\f1)
that lists the projects that are valid for each user.
\f3/etc/project\f1 is similar in
style to \f3/etc/passwd\f1 or \f3/etc/group\f1 (see \f2project\f1(4) for
details).
Because the project ID is a numeric value, an additional
file (\f3/etc/projid\f1, see \f2projid\f1(4))
is used to correlate ASCII project names, which are used by
\f3/etc/project\f1, with numeric project IDs.
A standard default project ID is used when a user cannot be found in these
files.
This default value can be changed by modifying the \f3dfltprid\f1
variable using \f2systune\f1(1).
.PP
The standard IRIX utilities for logging in to the system (e.g.\& \f2login\f1,
\f2rshd\f1) will automatically create a new array session and assign the
user's default project ID to it.
User-provided programs that perform a login
or the moral equivalent can (and should) do the same thing using the
\f2newarraysess\f1(2) and \f2setprid\f1(2) functions.
To assist in this, a number of libc functions are provided
for parsing \f3/etc/project\f1 and \f3/etc/projid\f1;
see, for example, \f2projid\f1(3C), \f2getdfltprojuser\f1(3C)
and \f2validateproj\f1(3C) for more details.
.SH SEE ALSO
systune(1),
getprid(2),
newarraysess(2),
setprid(2),
getdfltprojuser(3C),
getprojuser(3C),
project(4),
projid(4),
array_sessions(5),
extacct(5).