.\" Copyright (C) 1996
.\" David L. Nugent. All rights reserved.
-.\"
+.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 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.
-.\"
+.\"
.\" THIS SOFTWARE IS PROVIDED BY DAVID L. NUGENT AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" $FreeBSD$
+.\" $FreeBSD$
.\"
-.Dd December 9, 1996
+.Dd March 30, 2007
.Dt PW.CONF 5
-.Os
+.Os
.Sh NAME
.Nm pw.conf
.Nd format of the pw.conf configuration file
.Sh DESCRIPTION
The file
-.Aq Pa /etc/pw.conf
+.Pa /etc/pw.conf
contains configuration data for the
.Xr pw 8
-program.
+utility.
The
.Xr pw 8
-program is used for maintenance of the system password and group
+utility is used for maintenance of the system password and group
files, allowing users and groups to be added, deleted and changed.
This file may be modified via the
.Xr pw 8
command using the
-.Ql \&useradd
+.Ar useradd
command and the
-.Ql \&-D
+.Fl D
option, or by editing it directly with a text editor.
.Pp
Each line in
-.Aq Pa /etc/pw.conf
+.Pa /etc/pw.conf
is treated either a comment or as configuration data;
blank lines and lines commencing with a
.Ql \&#
character are considered comments, and any remaining lines are
examined for a leading keyword, followed by corresponding data.
.Pp
-Keywords recognised by
+Keywords recognized by
.Xr pw 8
are:
.Bl -tag -width password_days -offset indent -compact
.It defaultpasswd
-affects passwords generated for new users
+affect passwords generated for new users
.It reuseuids
reuse gaps in uid sequences
.It reusegids
reuse gaps in gid sequences
.It nispasswd
-path to the NIS passwd database
+path to the
+.Tn NIS
+passwd database
.It skeleton
where to obtain default home contents
.It newmail
log user/group modifications to this file
.It home
root directory for home directories
+.It homemode
+permissions for home directory
.It shellpath
paths in which to locate shell programs
.It shells
.Pp
Valid values for
.Ar defaultpasswd
-are
+are:
.Bl -tag -width password_days -offset indent -compact
.It no
-disables login on newly created accounts
+disable login on newly created accounts
.It yes
-forces the password to be the account name
+force the password to be the account name
.It none
-forces a blank password
+force a blank password
.It random
-Generates a random password
+generate a random password
.El
.Pp
The second and third options are insecure and should be avoided if
.Xr pw 8
to respond by printing a randomly generated password on stdout.
This is the preferred and most secure option.
+The
.Xr pw 8
-also provides a method of setting a specific password for the new
+utility also provides a method of setting a specific password for the new
user via a filehandle (command lines are not secure).
.Pp
Both
Note that if the default group is not specified using the
.Ar defaultgroup
keyword,
-Xr pw 8
+.Xr pw 8
will create a new group for the user and attempt to keep the new
user's uid and gid the same.
If the new user's uid is currently in use as a group id, then the next
available group id is chosen instead.
.Pp
-On NIS servers which maintain a separate passwd database to
+On
+.Tn NIS
+servers which maintain a separate passwd database to
.Pa /etc/master.passwd ,
this option allows the additional file to be concurrently updated
as user records are added, modified or removed.
This is
.Pa /usr/share/skel
by default.
-.Xr pw 8 's
-.Ql \&-m
+The
+.Xr pw 8 Ns 's
+.Fl m
option causes the user's home directory to be created and populated
using the files contained in the
.Ar skeleton
This specifies the location of the directory in which all new user
home directories are created.
.Pp
+The
+.Ar homemode
+keyword is optional.
+It specifies the creation mask of the user's home directory and is modified by
+.Xr umask 2 .
+.Pp
+The
.Ar shellpath
-specifies a list of directories - separated by colons
+keyword specifies a list of directories - separated by colons
.Ql \&:
- which contain the programs used by the login shells.
.Pp
The
.Ar defaultshell
keyword nominates which shell program to use for new users when
-none is specified on the
+none is specified on the
.Xr pw 8
command line.
.Pp
their own created automatically.
This is the recommended procedure for new users as it best secures each
user's files against interference by other users of the system
-irrespective of the
+irrespective of the
.Em umask
normally used by the user.
.Pp
+The
.Ar extragroups
-provides an automatic means of placing new users into groups within
+keyword provides an automatic means of placing new users into groups within
the
.Pa /etc/groups
file.
This is useful where all users share some resources, and is preferable
to placing users into the same primary group.
The effect of this keyword can be overridden using the
-.Ql \&-G
+.Fl G
option on the
.Xr pw 8
command line.
.Ar maxuid ,
.Ar mingid ,
.Ar maxgid
-keywords determines the allowed ranges of automatically allocated user
+keywords determine the allowed ranges of automatically allocated user
and group id numbers.
The default values for both user and group ids are 1000 and 32000 as
minimum and maximum respectively.
The user and group id's actually used when creating an account with
.Xr pw 8
may be overridden using the
-.Ql \&-u
+.Fl u
and
-.Ql \&-g
+.Fl g
command line options.
.Pp
The
.Ql \&0
in either field will disable the corresponding (account or password)
expiration date.
-.Pp
.Sh LIMITS
The maximum line length of
.Pa /etc/pw.conf
-is 1024 characters. Longer lines will be skipped and treated
+is 1024 characters.
+Longer lines will be skipped and treated
as comments.
.Sh FILES
.Bl -tag -width /etc/master.passwd -compact
.It Pa /etc/group
.El
.Sh SEE ALSO
-.Xr pw 8 ,
-.Xr login.conf 5 ,
.Xr passwd 1 ,
+.Xr umask 2 ,
+.Xr group 5 ,
+.Xr login.conf 5 ,
.Xr passwd 5 ,
-.Xr group 5
-
-
+.Xr pw 8