5c00743626
Based on work by Vivek Prakash and Gianluca Guida. See UPDATING about caveats on currently existing accounts. . restores netbsd libc pwcache functions
318 lines
8.9 KiB
Groff
318 lines
8.9 KiB
Groff
.\" $NetBSD: useradd.8,v 1.42 2009/01/14 02:18:28 reed Exp $ */
|
|
.\"
|
|
.\"
|
|
.\" Copyright (c) 1999 Alistair G. Crooks. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. The name of the author may not be used to endorse or promote
|
|
.\" products derived from this software without specific prior written
|
|
.\" permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
|
|
.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
|
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
|
.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
.\" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
.\" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.\"
|
|
.Dd January 13, 2009
|
|
.Dt USERADD 8
|
|
.Os
|
|
.Sh NAME
|
|
.Nm useradd
|
|
.Nd add a user to the system
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Fl D
|
|
.Op Fl F
|
|
.Op Fl b Ar base-dir
|
|
.Op Fl e Ar expiry-time
|
|
.Op Fl f Ar inactive-time
|
|
.Op Fl g Ar gid | name | Li =uid
|
|
.Op Fl k Ar skel-dir
|
|
.Op Fl L Ar login-class
|
|
.Op Fl M Ar home-perm
|
|
.Op Fl r Ar lowuid Ns Li .. Ns Ar highuid
|
|
.Op Fl s Ar shell
|
|
.Nm
|
|
.Op Fl moSv
|
|
.Op Fl b Ar base-dir
|
|
.Op Fl c Ar comment
|
|
.Op Fl d Ar home-dir
|
|
.Op Fl e Ar expiry-time
|
|
.Op Fl f Ar inactive-time
|
|
.Op Fl G Ar secondary-group
|
|
.Op Fl g Ar gid | name | Li =uid
|
|
.Op Fl k Ar skel-dir
|
|
.Op Fl L Ar login-class
|
|
.Op Fl M Ar home-perm
|
|
.Op Fl p Ar password
|
|
.Op Fl r Ar lowuid Ns Li .. Ns Ar highuid
|
|
.Op Fl s Ar shell
|
|
.Op Fl u Ar uid
|
|
.Ar user
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm useradd
|
|
utility adds a user to the system, creating and
|
|
populating a home directory if necessary.
|
|
Any skeleton files will be provided
|
|
for the new user if they exist in the
|
|
.Ar skel-dir
|
|
directory (see the
|
|
.Fl k
|
|
option).
|
|
Default values for
|
|
the base directory,
|
|
the time of password expiry,
|
|
the time of account expiry,
|
|
primary group,
|
|
the skeleton directory,
|
|
the range from which the uid will be allocated,
|
|
and default login shell
|
|
can be provided in the
|
|
.Pa /etc/usermgmt.conf
|
|
file, which, if running as root, is created using the built-in defaults if
|
|
it does not exist.
|
|
.Pp
|
|
The first form of the command shown above (using the
|
|
.Fl D
|
|
option)
|
|
sets and displays the defaults for the
|
|
.Nm
|
|
utility.
|
|
.Pp
|
|
See
|
|
.Xr user 8
|
|
for more information about
|
|
.Dv EXTENSIONS .
|
|
.Bl -tag -width Ds
|
|
.It Fl b Ar base-dir
|
|
Set the default base directory.
|
|
This is the directory to which the
|
|
user directory is added, which will be created if the
|
|
.Fl m
|
|
option is specified and no
|
|
.Fl d
|
|
option is specified.
|
|
.It Fl D
|
|
without any further options,
|
|
.Fl D
|
|
will show the current defaults which
|
|
will be used by the
|
|
.Nm
|
|
utility.
|
|
Together with one of the options shown for the first version
|
|
of the command,
|
|
.Fl D
|
|
will set the default to be the new value.
|
|
See
|
|
.Xr usermgmt.conf 5
|
|
for more information.
|
|
.It Fl e Ar expiry-time
|
|
Set the time at which the new user accounts will expire.
|
|
It should be entered in the form
|
|
.Dq month day year ,
|
|
where month is the month name (the first three characters are
|
|
sufficient), day is the day of the month, and year is the year.
|
|
Time in seconds since the epoch (UTC) is also valid.
|
|
A value of 0 can be used to disable this feature.
|
|
.It Fl F
|
|
Force the user to change their password upon next login.
|
|
.It Fl f Ar inactive-time
|
|
Set the time at which passwords for the new user accounts will
|
|
expire.
|
|
Also see the
|
|
.Fl e
|
|
option above.
|
|
.It Fl g Ar gid | groupname | Li =uid
|
|
Set the default group for new users.
|
|
.It Fl k Ar skel-dir
|
|
Set the skeleton directory in which to find files with
|
|
which to populate new users' home directories.
|
|
.It Fl L Ar login-class
|
|
Set the default login class for new users.
|
|
See
|
|
.Xr login.conf 5
|
|
for more information on user login classes.
|
|
This option is included if built with
|
|
.Dv EXTENSIONS .
|
|
.It Fl M Ar home-perm
|
|
sets the default permissions of the newly created home directory if
|
|
.Fl m
|
|
is given.
|
|
The permission is specified as an octal number, with or without a leading zero.
|
|
.It Fl r Ar lowuid Ns Li .. Ns Ar highuid
|
|
Set the low and high bounds of uid ranges for new users.
|
|
A new user can only be created if there are uids which can be
|
|
assigned from one of the free ranges.
|
|
This option is included if built with
|
|
.Dv EXTENSIONS .
|
|
.It Fl s Ar shell
|
|
Set the default login shell for new users.
|
|
.El
|
|
.Pp
|
|
In the second form of the command,
|
|
after setting any defaults, and then reading values from
|
|
.Pa /etc/usermgmt.conf ,
|
|
the following command line options are processed:
|
|
.Bl -tag -width Ds
|
|
.It Fl b Ar base-directory
|
|
Set the base directory name, in which the user's new home
|
|
directory will be created, should the
|
|
.Fl m
|
|
option be specified.
|
|
.It Fl c Ar comment
|
|
Set the comment field (also, for historical reasons known as the
|
|
GECOS field) which will be added for the user, and typically will include
|
|
the user's full name, and, perhaps, contact information for the user.
|
|
.It Fl d Ar home-directory
|
|
Set the home directory which will be created and populated for the user,
|
|
should the
|
|
.Fl m
|
|
option be specified.
|
|
.It Fl e Ar expiry-time
|
|
Set the time at which the current password will expire for new
|
|
users.
|
|
It should be entered in the form
|
|
.Dq month day year ,
|
|
where month is the month name (the first three characters are
|
|
sufficient), day is the day of the month, and year is the year.
|
|
Time in seconds since the epoch (UTC) is also valid.
|
|
A value of 0 can be used to disable this feature.
|
|
See
|
|
.Xr passwd 5
|
|
for more details.
|
|
.It Fl f Ar inactive-time
|
|
Set the time at which new user accounts will expire.
|
|
Also see the
|
|
.Fl e
|
|
option above.
|
|
.It Fl G Ar secondary-group
|
|
Add the user to the secondary group
|
|
.Ar secondary-group
|
|
in the
|
|
.Pa /etc/group
|
|
file.
|
|
The
|
|
.Ar secondary-group
|
|
may be a comma-delimited list for multiple groups.
|
|
Or the option may be repeated for multiple groups.
|
|
(16 groups maximum.)
|
|
.It Fl g Ar gid | name | Li =uid
|
|
Give the group name or identifier to be used for the new user's primary group.
|
|
If this is
|
|
.Ql =uid ,
|
|
then a uid and gid will be picked which are both unique
|
|
and the same, and a line added to
|
|
.Pa /etc/group
|
|
to describe the new group.
|
|
.It Fl k Ar skeleton directory
|
|
Give the skeleton directory in which to find files
|
|
with which to populate the new user's home directory.
|
|
.It Fl L Ar login-class
|
|
Set the login class for the user being created.
|
|
See
|
|
.Xr login.conf 5
|
|
for more information on user login classes.
|
|
This option is included if built with
|
|
.Dv EXTENSIONS .
|
|
.It Fl M Ar home-perm
|
|
sets the permissions of the newly created home directory if
|
|
.Fl m
|
|
is given.
|
|
The permission is specified as an octal number, with or without a leading zero.
|
|
.It Fl m
|
|
Create a new home directory for the new user.
|
|
.It Fl o
|
|
Allow the new user to have a uid which is already in use for another user.
|
|
.It Fl p Ar password
|
|
Specify an already-encrypted password for the new user.
|
|
Encrypted passwords can be generated with
|
|
.Xr pwhash 1 .
|
|
The password can be changed later by using
|
|
.Xr chpass 1
|
|
or
|
|
.Xr passwd 1 .
|
|
This option is included if built with
|
|
.Dv EXTENSIONS .
|
|
.It Fl S
|
|
Allow samba user names with a trailing dollar sign to be
|
|
added to the system.
|
|
This option is included if built with
|
|
.Dv EXTENSIONS .
|
|
.It Fl s Ar shell
|
|
Specify the login shell for the new user.
|
|
.It Fl u Ar uid
|
|
Specify a uid for the new user.
|
|
Boundaries for this value can be preset for all users
|
|
by using the
|
|
.Ar range
|
|
field in the
|
|
.Pa /etc/usermgmt.conf
|
|
file.
|
|
.It Fl v
|
|
Enable verbose mode - explain the commands as they are executed.
|
|
This option is included if built with
|
|
.Dv EXTENSIONS .
|
|
.El
|
|
.Pp
|
|
Once the information has been verified,
|
|
.Nm
|
|
uses
|
|
.Xr pwd_mkdb 8
|
|
to update the user database.
|
|
This is run in the background, and,
|
|
at very large sites could take several minutes.
|
|
Until this update
|
|
is completed, the password file is unavailable for other updates
|
|
and the new information is not available to programs.
|
|
.Sh EXIT STATUS
|
|
.Ex -std useradd
|
|
.Sh FILES
|
|
.Bl -tag -width /etc/usermgmt.conf -compact
|
|
.It Pa /etc/usermgmt.conf
|
|
.It Pa /etc/skel/*
|
|
.It Pa /etc/login.conf
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr chpass 1 ,
|
|
.Xr passwd 1 ,
|
|
.Xr pwhash 1 ,
|
|
.Xr group 5 ,
|
|
.Xr login.conf 5 ,
|
|
.Xr passwd 5 ,
|
|
.Xr usermgmt.conf 5 ,
|
|
.Xr pwd_mkdb 8 ,
|
|
.Xr user 8 ,
|
|
.Xr userdel 8 ,
|
|
.Xr usermod 8
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
utility first appeared in
|
|
.Nx 1.5 .
|
|
It is based on the
|
|
.Ar addnerd
|
|
package by the same author.
|
|
.Sh AUTHORS
|
|
The
|
|
.Nm
|
|
utility was written by
|
|
.An Alistair G. Crooks
|
|
.Aq agc@NetBSD.org .
|
|
.Pp
|
|
Support for setting permissions of home directories was added by Hubert Feyrer.
|