kernel - Refactor the lwkt_token code, making it faster
[dragonfly.git] / usr.sbin / pw / pw.conf.5
blob2d04080a828723a375c9d55dbd67fb0a221cc2e5
1 .\" Copyright (C) 1996
2 .\" David L. Nugent.  All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\"
13 .\" THIS SOFTWARE IS PROVIDED BY DAVID L. NUGENT AND CONTRIBUTORS ``AS IS'' AND
14 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 .\" ARE DISCLAIMED.  IN NO EVENT SHALL DAVID L. NUGENT OR CONTRIBUTORS BE LIABLE
17 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23 .\" SUCH DAMAGE.
24 .\"
25 .\" $FreeBSD: src/usr.sbin/pw/pw.conf.5,v 1.10.2.3 2001/07/22 12:41:27 dd Exp $
26 .\" $DragonFly: src/usr.sbin/pw/pw.conf.5,v 1.2 2003/06/17 04:30:01 dillon Exp $
27 .\"
28 .Dd December 9, 1996
29 .Dt PW.CONF 5
30 .Os
31 .Sh NAME
32 .Nm pw.conf
33 .Nd format of the pw.conf configuration file
34 .Sh DESCRIPTION
35 The file
36 .Aq Pa /etc/pw.conf
37 contains configuration data for the
38 .Xr pw 8
39 program.
40 The
41 .Xr pw 8
42 program is used for maintenance of the system password and group
43 files, allowing users and groups to be added, deleted and changed.
44 This file may be modified via the
45 .Xr pw 8
46 command using the
47 .Ar useradd
48 command and the
49 .Fl D
50 option, or by editing it directly with a text editor.
51 .Pp
52 Each line in
53 .Aq Pa /etc/pw.conf
54 is treated either a comment or as configuration data;
55 blank lines and lines commencing with a
56 .Ql \&#
57 character are considered comments, and any remaining lines are
58 examined for a leading keyword, followed by corresponding data.
59 .Pp
60 Keywords recognized by
61 .Xr pw 8
62 are:
63 .Bl -tag -width password_days -offset indent -compact
64 .It defaultpasswd
65 affect passwords generated for new users
66 .It reuseuids
67 reuse gaps in uid sequences
68 .It reusegids
69 reuse gaps in gid sequences
70 .It nispasswd
71 path to the NIS passwd database
72 .It skeleton
73 where to obtain default home contents
74 .It newmail
75 mail to send to new users
76 .It logfile
77 log user/group modifications to this file
78 .It home
79 root directory for home directories
80 .It shellpath
81 paths in which to locate shell programs
82 .It shells
83 list of valid shells (without path)
84 .It defaultshell
85 default shell (without path)
86 .It defaultgroup
87 default group
88 .It extragroups
89 add new users to this groups
90 .It defaultclass
91 place new users in this login class
92 .It minuid
93 .It maxuid
94 range of valid default user ids
95 .It mingid
96 .It maxgid
97 range of valid default group ids
98 .It expire_days
99 days after which account expires
100 .It password_days
101 days after which password expires
104 Valid values for
105 .Ar defaultpasswd
106 are:
107 .Bl -tag -width password_days -offset indent -compact
108 .It no
109 disable login on newly created accounts
110 .It yes
111 force the password to be the account name
112 .It none
113 force a blank password
114 .It random
115 generate a random password
118 The second and third options are insecure and should be avoided if
119 possible on a publicly accessible system.
120 The first option requires that the superuser run
121 .Xr passwd 1
122 to set a password before the account may be used.
123 This may also be useful for creating administrative accounts.
124 The final option causes
125 .Xr pw 8
126 to respond by printing a randomly generated password on stdout.
127 This is the preferred and most secure option.
128 .Xr Pw 8
129 also provides a method of setting a specific password for the new
130 user via a filehandle (command lines are not secure).
132 Both
133 .Ar reuseuids
135 .Ar reusegids
136 determine the method by which new user and group id numbers are
137 generated.
139 .Ql \&yes
140 in this field will cause
141 .Xr pw 8
142 to search for the first unused user or group id within the allowed
143 range, whereas a
144 .Ql \&no
145 will ensure that no other existing user or group id within the range
146 is numerically lower than the new one generated, and therefore avoids
147 reusing gaps in the user or group id sequence that are caused by
148 previous user or group deletions.
149 Note that if the default group is not specified using the
150 .Ar defaultgroup
151 keyword,
152 .Xr pw 8
153 will create a new group for the user and attempt to keep the new
154 user's uid and gid the same.
155 If the new user's uid is currently in use as a group id, then the next
156 available group id is chosen instead.
158 On NIS servers which maintain a separate passwd database to
159 .Pa /etc/master.passwd ,
160 this option allows the additional file to be concurrently updated
161 as user records are added, modified or removed.
162 If blank or set to 'no', no additional database is updated.
163 An absolute pathname must be used.
166 .Ar skeleton
167 keyword nominates a directory from which the contents of a user's
168 new home directory is constructed.
169 This is
170 .Pa /usr/share/skel
171 by default.
172 .Xr Pw 8 Ns 's
173 .Fl m
174 option causes the user's home directory to be created and populated
175 using the files contained in the
176 .Ar skeleton
177 directory.
179 To send an initial email to new users, the
180 .Ar newmail
181 keyword may be used to specify a path name to a file containing
182 the message body of the message to be sent.
183 To avoid sending mail when accounts are created, leave this entry
184 blank or specify
185 .Ql \&no .
188 .Ar logfile
189 option allows logging of password file modifications into the
190 nominated log file.
191 To avoid creating or adding to such a logfile, then leave this
192 field blank or specify
193 .Ql \&no .
196 .Ar home
197 keyword is mandatory.
198 This specifies the location of the directory in which all new user
199 home directories are created.
201 .Ar shellpath
202 specifies a list of directories - separated by colons
203 .Ql \&:
204 - which contain the programs used by the login shells.
207 .Ar shells
208 keyword specifies a list of programs available for use as login
209 shells.
210 This list is a comma-separated list of shell names which should
211 not contain a path.
212 These shells must exist in one of the directories nominated by
213 .Ar shellpath .
216 .Ar defaultshell
217 keyword nominates which shell program to use for new users when
218 none is specified on the
219 .Xr pw 8
220 command line.
223 .Ar defaultgroup
224 keyword defines the primary group (the group id number in the
225 password file) used for new accounts.
226 If left blank, or the word
227 .Ql \&no
228 is used, then each new user will have a corresponding group of
229 their own created automatically.
230 This is the recommended procedure for new users as it best secures each
231 user's files against interference by other users of the system
232 irrespective of the
233 .Em umask
234 normally used by the user.
236 .Ar extragroups
237 provides an automatic means of placing new users into groups within
239 .Pa /etc/groups
240 file.
241 This is useful where all users share some resources, and is preferable
242 to placing users into the same primary group.
243 The effect of this keyword can be overridden using the
244 .Fl G
245 option on the
246 .Xr pw 8
247 command line.
250 .Ar defaultclass
251 field determines the login class (See
252 .Xr login.conf 5 )
253 that new users will be allocated unless overwritten by
254 .Xr pw 8 .
257 .Ar minuid ,
258 .Ar maxuid ,
259 .Ar mingid ,
260 .Ar maxgid
261 keywords determines the allowed ranges of automatically allocated user
262 and group id numbers.
263 The default values for both user and group ids are 1000 and 32000 as
264 minimum and maximum respectively.
265 The user and group id's actually used when creating an account with
266 .Xr pw 8
267 may be overridden using the
268 .Fl u
270 .Fl g
271 command line options.
274 .Ar expire_days
276 .Ar password_days
277 are used to automatically calculate the number of days from the date
278 on which an account is created when the account will expire or the
279 user will be forced to change the account's password.
280 A value of
281 .Ql \&0
282 in either field will disable the corresponding (account or password)
283 expiration date.
284 .Sh LIMITS
285 The maximum line length of
286 .Pa /etc/pw.conf
287 is 1024 characters.
288 Longer lines will be skipped and treated
289 as comments.
290 .Sh FILES
291 .Bl -tag -width /etc/master.passwd -compact
292 .It Pa /etc/pw.conf
293 .It Pa /etc/passwd
294 .It Pa /etc/master.passwd
295 .It Pa /etc/group
297 .Sh SEE ALSO
298 .Xr passwd 1 ,
299 .Xr group 5 ,
300 .Xr login.conf 5 ,
301 .Xr passwd 5 ,
302 .Xr pw 8