Main index | Section 8 | 日本語 | Options |
The first one or two keywords provided to
pw
on the command line provide the context for the remainder of the arguments.
The keywords
user
and
group
may be combined with
add,
del,
mod,
show,
or
next
in any order.
(For example,
showuser,
usershow,
show user,
and
user show
all mean the same thing.)
This flexibility is useful for interactive scripts calling
pw
for user and group database manipulation.
Following these keywords,
the user or group name or numeric id may be optionally specified as an
alternative to using the
The following flags are common to most or all modes of operation:
| |
Specifies an alternate root directory within which pw will operate. Any paths specified will be relative to rootdir. | |
| |
Set an alternate location for the password, group, and configuration files.
Can be used to maintain a user/group database in an alternate location.
If this switch is specified, the system
/etc/pw.conf
will not be sourced for default configuration data,
but the file
pw.conf
in the specified directory will be used instead
(or none, if it does not exist).
The
| |
| |
By default,
pw
reads the file
/etc/pw.conf
to obtain policy information on how new user accounts and groups are to be created.
The
| |
| Use of this option causes pw to suppress error messages, which may be useful in interactive environments where it is preferable to interpret status codes returned by pw rather than messing up a carefully formatted display. |
|
This option is available in
add
and
modify
operations, and tells
pw
to output the result of the operation without updating the user or group
databases.
You may use the
|
|
Using this option with any of the update modes causes
pw
to run
make(1)
after changing to the directory
/var/yp.
This is intended to allow automatic updating of
NIS
database files.
If separate passwd and group files are being used by
NIS,
then use the
|
[ | |
Required unless
| |
| |
Required if
name
is not given.
Specify the user/account numeric id.
In the case of
usermod
if paired with
name,
changes the numeric id of the named user/account.
Usually, only one of these options is required,
as the account name will imply the uid, or vice versa.
However, there are times when both are needed.
For example, when changing the uid of an existing user with
usermod,
or overriding the default uid when creating a new account with
useradd.
To automatically allocate the uid to a new user with
useradd,
then do
not
use the
| |
| |
This field sets the contents of the passwd GECOS field, which normally contains up to four comma-separated fields containing the user's full name, office or location, and work and home phone numbers. These sub-fields are used by convention only, however, and are optional. If this field is to contain spaces, the comment must be enclosed in double quotes ‘amp;"’. Avoid using commas in this field as these are used as sub-field separators, and the colon ‘amp;:’ character also cannot be used as this is the field separator for the passwd file itself. | |
| |
This option sets the account's home directory. Normally, this is only used if the home directory is to be different from the default determined from /etc/pw.conf - normally /home with the account name as a subdirectory. | |
| |
Set the account's expiration date. Format of the date is either a UNIX time in decimal, or a date in ‘dd-mmm-yy[yy]’ format, where dd is the day, mmm is the month, either in numeric or alphabetic format ('Jan', 'Feb', etc) and year is either a two or four digit year. This option also accepts a relative date in the form ‘amp;+n[mhdwoy]’ where ‘amp;n’ is a decimal, octal (leading 0) or hexadecimal (leading 0x) digit followed by the number of Minutes, Hours, Days, Weeks, Months or Years from the current date at which the expiration date is to be set. | |
| |
Set the account's password expiration date.
This field is similar to the account expiration date option, except that it
applies to forced password changes.
This is set in the same manner as the
| |
| |
Set the account's primary group to the given group. group may be defined by either its name or group number. | |
| |
Set secondary group memberships for an account. grouplist is a comma, space, or tab-separated list of group names or group numbers. The user is added to the groups specified in grouplist, and removed from all groups not specified. The current login session is not affected by group membership changes, which only take effect when the user reconnects. Note: do not add a user to their primary group with grouplist. | |
| |
This option sets the login class for the user being created. See login.conf(5) and passwd(5) for more information on user login classes. | |
|
This option instructs
pw
to attempt to create the user's home directory.
While primarily useful when adding a new account with
useradd,
this may also be of use when moving an existing user's home directory elsewhere
on the file system.
The new home directory is populated with the contents of the
skeleton
directory, which typically contains a set of shell configuration files that the
user may personalize to taste.
Files in this directory are usually named
dot.<config>
where the
dot
prefix will be stripped.
When
When a user's home directory is created,
it will by default be a subdirectory of the
basehome
directory as specified by the
|
| |
Create the user's home directory with the specified
mode,
modified by the current
umask(2).
If omitted, it is derived from the parent process'
umask(2).
This option is only useful in combination with the
| |
| |
Set the
skeleton
directory, from which basic startup and configuration files are copied when
the user's home directory is created.
This option only has meaning when used with the
| |
| |
Set or changes the user's login shell to shell. If the path to the shell program is omitted, pw searches the shellpath specified in /etc/pw.conf and fills it in as appropriate. Note that unless you have a specific reason to do so, you should avoid specifying the path - this will allow pw to validate that the program exists and is executable. Specifying a full path (or supplying a blank "" shell) avoids this check and allows for such entries as /nonexistent that should be set for accounts not intended for interactive login. | |
|
This option provides a special interface by which interactive scripts can
set an account password using
pw.
Because the command line and environment are fundamentally insecure mechanisms
by which programs can accept information,
pw
will only allow setting of account and group passwords via a file descriptor
(usually a pipe between an interactive script and the program).
sh,
bash,
ksh
and
perl
all possess mechanisms by which this can be done.
Alternatively,
pw
will prompt for the user's password if
If a value of ‘amp;-’ is given as the argument fd, then the password will be set to ‘amp;*’, rendering the account inaccessible via password-based login. |
|
Read an encrypted password string from the specified file descriptor.
This is like
|
It is possible to use
useradd
to create a new account that duplicates an existing user id.
While this is normally considered an error and will be rejected, the
The
useradd
command also has the ability to set new user and group defaults by using the
|
Set default values in
/etc/pw.conf
configuration file, or a different named configuration file if the
|
| |
Set the root directory in which user home directories are created. The default value for this is /home, but it may be set elsewhere as desired. | |
| |
Set the default account expiration period in days.
When
| |
| |
Set the default password expiration period in days.
When
| |
| |
Set the default group for new users.
If a blank group is specified using
| |
| |
Set the default groups in which new users are granted membership. This is a separate set of groups from the primary group. Avoid nominating the same group as both primary and extra groups. In other words, these extra groups determine membership in groups other than the primary group. grouplist is a comma-separated list of group names or ids, and are always stored in /etc/pw.conf by their symbolic names. | |
| |
This option sets the default login class for new users. | |
| |
Set the default
skeleton
directory,
from which prototype shell and other initialization files are copied when
pw
creates a user's home directory.
See description of
| |
| |
The
| |
no | disable login on newly created accounts |
yes | force the password to be the account name |
none | force a blank password |
random | |
generate a random password | |
The random or no methods are the most secure; in the former case, pw generates a password and prints it to stdout, which is suitable when users are issued passwords rather than being allowed to select their own (possibly poorly chosen) password. The no method requires that the superuser use passwd(1) to render the account accessible with a password.
| |
This sets the pathname of the database used by NIS if you are not sharing the information from /etc/master.passwd directly with NIS. You should only set this option for NIS servers. | |
The
userdel
command has three distinct options.
The
| This tells pw to remove the user's home directory and all of its contents. The pw utility errs on the side of caution when removing files from the system. Firstly, it will not do so if the uid of the account being removed is also used by another account on the system, and the "home" directory in the password file is a valid path that commences with the character ‘amp;/’. Secondly, it will only remove files and directories that are actually owned by the user, or symbolic links owned by anyone under the user's home directory. Finally, after deleting all contents owned by the user only empty directories will be removed. If any additional cleanup work is required, this is left to the administrator. |
Mail spool files and crontab(5) files are always removed when an account is deleted as these are unconditionally attached to the user name. Jobs queued for processing by at(1) are also removed if the user's uid is unique and not also used by another account on the system.
The usermod command adds one additional option:
| |
This option allows changing of an existing account name to newname. The new name must not already exist, and any attempt to duplicate an existing account name will be rejected. | |
The
usershow
command allows viewing of an account in one of two formats.
By default, the format is identical to the format used in
/etc/master.passwd
with the password field replaced with a
‘amp;*’.
If the
The command usernext returns the next available user and group ids separated by a colon. This is normally of interest only to interactive scripts or front-ends that use pw.
[ | |
Required unless
| |
|
Required if
name
is not given.
Specify the group numeric id.
In the case of
groupmod
if paired with
name,
changes the numeric id of the named group.
As with the account name and id fields, you will usually only need to supply one of these, as the group name implies the uid and vice versa. You will only need to use both when setting a specific group id against a new group or when changing the uid of an existing group. |
| |
This option provides an alternative way to add existing users to a new group (in groupadd) or replace an existing membership list (in groupmod). memberlist is a comma separated list of valid and existing user names or uids. | |
| |
Similar to
| |
| |
Similar to
| |
groupadd
also has a
The groupmod command adds one additional option:
| |
This option allows changing of an existing group name to newname. The new name must not already exist, and any attempt to duplicate an existing group name will be rejected. | |
Options for
groupshow
are the same as for
usershow,
with the
The command groupnext returns the next available group id on standard output.
The
lock
and
unlock
commands take a user name or uid of the account to lock or unlock,
respectively.
The
pw [command] help
For example,
pw useradd help
lists all available options for the useradd operation.
The pw utility allows 8-bit characters in the passwd GECOS field (user's full name, office, work and home phone number subfields), but disallows them in user login and group names. Use 8-bit characters with caution, as connection to the Internet will require that your mail transport program supports 8BITMIME, and will convert headers containing 8-bit characters to 7-bit quoted-printable format. sendmail(8) does support this. Use of 8-bit characters in the GECOS field should be used in conjunction with the user's default locale and character set and should not be implemented without their use. Using 8-bit characters may also affect other programs that transmit the contents of the GECOS field over the Internet, such as fingerd(8), and a small number of TCP/IP clients, such as IRC, where full names specified in the passwd file may be used by default.
The pw utility writes a log to the /var/log/userlog file when actions such as user or group additions or deletions occur. The location of this logfile can be changed in pw.conf(5).
/etc/master.passwd | The user database |
/etc/passwd | A Version 7 format password file |
/etc/login.conf | The user capabilities database |
/etc/group | The group database |
/etc/pw.conf | Pw default options file |
/var/log/userlog | User/group modification logfile |
pw useradd -n gsmith -c "Glurmo Smith" -s csh -m -w random
Delete the gsmith user and their home directory, including contents.
pw userdel -n gsmith -r
Add the existing user jsmith to the wheel group, in addition to the other groups jsmith is already a member of.
pw groupmod wheel -m jsmith
EX_USAGE | |
| |
EX_NOPERM | |
| |
EX_OSERR | |
| |
EX_DATAERR | |
| |
EX_OSFILE | |
| |
EX_NOUSER | |
| |
EX_SOFTWARE | |
| |
EX_IOERR | |
| |
EX_CONFIG | |
| |
PW (8) | April 3, 2022 |
Main index | Section 8 | 日本語 | Options |
Please direct any comments about this manual page service to Ben Bullock. Privacy policy.
“ | The most horrifying thing about Unix is that, no matter how many times you hit yourself over the head with it, you never quite manage to lose consciousness. It just goes on and on. | ” |
— Patrick Sobalvarro |