Administering Projects
How to Define a Project and View the Current Project
This example shows how to use the projadd command to add a project
entry and the projmod command to alter that entry.
- Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.
- View the default /etc/project file on your system by using projects -l.
# projects -l
system:0::::
user.root:1::::
noproject:2::::
default:3::::
group.staff:10::::system
projid : 0
comment: ""
users : (none)
groups : (none)
attribs:
user.root
projid : 1
comment: ""
users : (none)
groups : (none)
attribs:
noproject
projid : 2
comment: ""
users : (none)
groups : (none)
attribs:
default
projid : 3
comment: ""
users : (none)
groups : (none)
attribs:
group.staff
projid : 10
comment: ""
users : (none)
groups : (none)
attribs:
- Add a project with the name booksite. Assign the project to a
user who is named mark with project ID number 4113.
# projadd -U mark -p 4113 booksite
- View the /etc/project file again.
# projects -l
system
projid : 0
comment: ""
users : (none)
groups : (none)
attribs:
user.root
projid : 1
comment: ""
users : (none)
groups : (none)
attribs:
noproject
projid : 2
comment: ""
users : (none)
groups : (none)
attribs:
default
projid : 3
comment: ""
users : (none)
groups : (none)
attribs:
group.staff
projid : 10
comment: ""
users : (none)
groups : (none)
attribs:
booksite
projid : 4113
comment: ""
users : mark
groups : (none)
attribs:
- Add a comment that describes the project in the comment field.
# projmod -c `Book Auction Project' booksite
- View the changes in the /etc/project file.
# projects -l
system
projid : 0
comment: ""
users : (none)
groups : (none)
attribs:
user.root
projid : 1
comment: ""
users : (none)
groups : (none)
attribs:
noproject
projid : 2
comment: ""
users : (none)
groups : (none)
attribs:
default
projid : 3
comment: ""
users : (none)
groups : (none)
attribs:
group.staff
projid : 10
comment: ""
users : (none)
groups : (none)
attribs:
booksite
projid : 4113
comment: "Book Auction Project"
users : mark
groups : (none)
attribs:
See Also
To bind projects, tasks, and processes to a pool, see Setting Pool Attributes and Binding to a Pool.
How to Delete a Project From the /etc/project File
This example shows how to use the projdel command to delete a project.
- Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.
- Remove the project booksite by using the projdel command.
# projdel booksite
- Display the /etc/project file.
# projects -l
system
projid : 0
comment: ""
users : (none)
groups : (none)
attribs:
user.root
projid : 1
comment: ""
users : (none)
groups : (none)
attribs:
noproject
projid : 2
comment: ""
users : (none)
groups : (none)
attribs:
default
projid : 3
comment: ""
users : (none)
groups : (none)
attribs:
group.staff
projid : 10
comment: ""
users : (none)
groups : (none)
attribs:
- Log in as user mark and type projects to view the projects that
are assigned to this user.
# su - mark
# projects
default
How to Validate the Contents of the /etc/project File
If no editing options are given, the projmod command validates the contents of
the project file.
To validate a NIS map, type the following:
# ypcat project | projmod -f —
To check the syntax of the /etc/project file, type the following:
# projmod -n
How to Obtain Project Membership Information
Use the id command with the -p flag to display the current project
membership of the invoking process.
$ id -p
uid=100(mark) gid=1(other) projid=3(default)
How to Create a New Task
- Log in as a member of the destination project, booksite in this example.
- Create a new task in the booksite project by using the newtask
command with the -v (verbose) option to obtain the system task ID.
machine% newtask -v -p booksite
16
The execution of newtask creates a new task in the specified project, and
places the user's default shell in this task.
- View the current project membership of the invoking process.
machine% id -p
uid=100(mark) gid=1(other) projid=4113(booksite)
The process is now a member of the new project.
How to Move a Running Process Into a New Task
This example shows how to associate a running process with a different task
and new project. To perform this action, you must either be superuser, or
be the owner of the process and be a member of the
new project.
- Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.
Note - If you are the owner of the process or a member of
the new project, you can skip this step.
- Obtain the process ID of the book_catalog process.
# pgrep book_catalog
8100
- Associate process 8100 with a new task ID in the booksite project.
# newtask -v -p booksite -c 8100
17
The -c option specifies that newtask operate on the existing named process.
- Confirm the task to process ID mapping.
# pgrep -T 17
8100