]> git.cameronkatri.com Git - pw-darwin.git/blob - chpass/chpass.1
Document -e flag.
[pw-darwin.git] / chpass / chpass.1
1 .\" Copyright (c) 1988, 1990, 1993
2 .\" The Regents of the University of California. 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 .\" 3. All advertising materials mentioning features or use of this software
13 .\" must display the following acknowledgement:
14 .\" This product includes software developed by the University of
15 .\" California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\" may be used to endorse or promote products derived from this software
18 .\" without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\" @(#)chpass.1 8.2 (Berkeley) 12/30/93
33 .\" $FreeBSD$
34 .\"
35 .Dd December 30, 1993
36 .Dt CHPASS 1
37 .Os
38 .Sh NAME
39 .Nm chpass ,
40 .Nm chfn ,
41 .Nm chsh ,
42 .Nm ypchpass ,
43 .Nm ypchfn ,
44 .Nm ypchsh
45 .Nd add or change user database information
46 .Sh SYNOPSIS
47 .Nm chpass
48 .Op Fl a Ar list
49 .Op Fl p Ar encpass
50 .Op Fl e Ar expiretime
51 .Op Fl s Ar newshell
52 .Op user
53 .Pp
54 .Nm chpass
55 .Op Fl oly
56 .Op Fl a Ar list
57 .Op Fl p Ar encpass
58 .Op Fl e Ar expiretime
59 .Op Fl s Ar newshell
60 .Op Fl d Ar domain
61 .Op Fl h Ar host
62 .Op user
63 .Sh DESCRIPTION
64 The
65 .Nm
66 program
67 allows editing of the user database information associated
68 with
69 .Ar user
70 or, by default, the current user.
71 The information is formatted and supplied to an editor for changes.
72 .Pp
73 Only the information that the user is allowed to change is displayed.
74 .Pp
75 The options are as follows:
76 .Bl -tag -width indent
77 .It Fl a
78 The super-user is allowed to directly supply a user database
79 entry, in the format specified by
80 .Xr passwd 5 ,
81 as an argument.
82 This argument must be a colon
83 .Pq Dq \:
84 separated list of all the
85 user database fields, although they may be empty.
86 .It Fl p
87 The super-user is allowed to directly supply an encrypted password field,
88 in the format used by
89 .Xr crypt 3 ,
90 as an argument.
91 .It Fl e Ar expiretime
92 Change the account expire time. This option is used to set the expire time
93 from a script as if it was done in the interactive editor.
94 .It Fl s Ar newshell
95 Attempt to change the user's shell to
96 .Ar newshell .
97 .El
98 .Pp
99 Possible display items are as follows:
100 .Pp
101 .Bl -tag -width "Other Information:" -compact -offset indent
102 .It Login:
103 user's login name
104 .It Password:
105 user's encrypted password
106 .It Uid:
107 user's login
108 .It Gid:
109 user's login group
110 .It Class:
111 user's general classification
112 .It Change:
113 password change time
114 .It Expire:
115 account expiration time
116 .It Full Name:
117 user's real name
118 .It Office Location:
119 user's office location (1)
120 .It Office Phone:
121 user's office phone (1)
122 .It Home Phone:
123 user's home phone (1)
124 .It Other Information:
125 any locally defined parameters for user (1)
126 .It Home Directory:
127 user's home directory
128 .It Shell:
129 user's login shell
130 .Pp
131 .It NOTE(1) -
132 In the actual master.passwd file, these fields are comma-delimited
133 fields embedded in the FullName field.
134 .El
135 .Pp
136 The
137 .Ar login
138 field is the user name used to access the computer account.
139 .Pp
140 The
141 .Ar password
142 field contains the encrypted form of the user's password.
143 .Pp
144 The
145 .Ar uid
146 field is the number associated with the
147 .Ar login
148 field.
149 Both of these fields should be unique across the system (and often
150 across a group of systems) as they control file access.
151 .Pp
152 While it is possible to have multiple entries with identical login names
153 and/or identical user id's, it is usually a mistake to do so. Routines
154 that manipulate these files will often return only one of the multiple
155 entries, and that one by random selection.
156 .Pp
157 The
158 .Ar group
159 field is the group that the user will be placed in at login.
160 Since BSD supports multiple groups (see
161 .Xr groups 1 )
162 this field currently has little special meaning.
163 This field may be filled in with either a number or a group name (see
164 .Xr group 5 ) .
165 .Pp
166 The
167 .Ar class
168 field references class descriptions in
169 .Ar /etc/login.conf
170 and is typically used to initialize the user's system resource limits
171 when they login.
172 .Pp
173 The
174 .Ar change
175 field is the date by which the password must be changed.
176 .Pp
177 The
178 .Ar expire
179 field is the date on which the account expires.
180 .Pp
181 Both the
182 .Ar change
183 and
184 .Ar expire
185 fields should be entered in the form
186 .Dq month day year
187 where
188 .Ar month
189 is the month name (the first three characters are sufficient),
190 .Ar day
191 is the day of the month, and
192 .Ar year
193 is the year.
194 .Pp
195 Five fields are available for storing the user's
196 .Ar full name , office location ,
197 .Ar work
198 and
199 .Ar home telephone
200 numbers and finally
201 .Ar other information
202 which is a single comma delimited string to represent any additional
203 gcos fields (typically used for site specific user information).
204 Note that
205 .Xr finger 1
206 will display the office location and office phone together under the
207 heading
208 .Ar Office: .
209 .Pp
210 The user's
211 .Ar home directory
212 is the full
213 .Ux
214 path name where the user
215 will be placed at login.
216 .Pp
217 The
218 .Ar shell
219 field is the command interpreter the user prefers.
220 If the
221 .Ar shell
222 field is empty, the Bourne shell,
223 .Pa /bin/sh ,
224 is assumed.
225 When altering a login shell, and not the super-user, the user
226 may not change from a non-standard shell or to a non-standard
227 shell.
228 Non-standard is defined as a shell not found in
229 .Pa /etc/shells .
230 .Pp
231 Once the information has been verified,
232 .Nm
233 uses
234 .Xr pwd_mkdb 8
235 to update the user database.
236 .Sh ENVIRONMENT
237 The
238 .Xr vi 1
239 editor will be used unless the environment variable
240 .Ev EDITOR
241 is set to
242 an alternate editor.
243 When the editor terminates, the information is re-read and used to
244 update the user database itself.
245 Only the user, or the super-user, may edit the information associated
246 with the user.
247 .Pp
248 See
249 .Xr pwd_mkdb 8
250 for an explanation of the impact of setting the
251 .Ev PW_SCAN_BIG_IDS
252 environment variable.
253 .Sh NIS INTERACTION
254 .Nm Chpass
255 can also be used in conjunction with NIS, however some restrictions
256 apply.
257 Currently,
258 .Nm
259 can only make changes to the NIS passwd maps through
260 .Xr rpc.yppasswdd 8 ,
261 which normally only permits changes to a user's password, shell and GECOS
262 fields. Except when invoked by the super-user on the NIS master server,
263 .Nm
264 (and, similarly,
265 .Xr passwd 1 )
266 can not use the
267 .Xr rpc.yppasswdd 8
268 server to change other user information or
269 add new records to the NIS passwd maps.
270 Furthermore,
271 .Xr rpc.yppasswdd 8
272 requires password authentication before it will make any
273 changes. The only user allowed to submit changes without supplying
274 a password is the super-user on the NIS master server; all other users,
275 including those with root privileges on NIS clients (and NIS slave
276 servers) must enter a password.
277 (The super-user on the NIS master is allowed to bypass these restrictions
278 largely for convenience: a user with root access
279 to the NIS master server already has the privileges required to make
280 updates to the NIS maps, but editing the map source files by hand can
281 be cumbersome.
282 .Pp
283 Note: these exceptions only apply when the NIS master server is a
284 .Fx
285 system).
286 .Pp
287 Consequently, except where noted, the following restrictions apply when
288 .Nm
289 is used with NIS:
290 .Bl -enum -offset indent
291 .It
292 .Em "Only the shell and GECOS information may be changed" .
293 All other
294 fields are restricted, even when
295 .Nm
296 is invoked by the super-user.
297 While support for
298 changing other fields could be added, this would lead to
299 compatibility problems with other NIS-capable systems.
300 Even though the super-user may supply data for other fields
301 while editing an entry, the extra information (other than the
302 password -- see below) will be silently discarded.
303 .Pp
304 Exception: the super-user on the NIS master server is permitted to
305 change any field.
306 .Pp
307 .It
308 .Em "Password authentication is required" .
309 .Nm Chpass
310 will prompt for the user's NIS password before effecting
311 any changes. If the password is invalid, all changes will be
312 discarded.
313 .Pp
314 Exception: the super-user on the NIS master server is allowed to
315 submit changes without supplying a password. (The super-user may
316 choose to turn off this feature using the
317 .Fl o
318 flag, described below.)
319 .It
320 .Em "Adding new records to the local password database is discouraged" .
321 .Nm Chpass
322 will allow the administrator to add new records to the
323 local password database while NIS is enabled, but this can lead to
324 some confusion since the new records are appended to the end of
325 the master password file, usually after the special NIS '+' entries.
326 The administrator should use
327 .Xr vipw 8
328 to modify the local password
329 file when NIS is running.
330 .Pp
331 The super-user on the NIS master server is permitted to add new records
332 to the NIS password maps, provided the
333 .Xr rpc.yppasswdd 8
334 server has been started with the
335 .Fl a
336 flag to permitted additions (it refuses them by default).
337 .Nm Chpass
338 tries to update the local password database by default; to update the
339 NIS maps instead, invoke chpass with the
340 .Fl y
341 flag.
342 .It
343 .Em "Password changes are not permitted".
344 Users should use
345 .Xr passwd 1
346 or
347 .Xr yppasswd 1
348 to change their NIS passwords. The super-user is allowed to specify
349 a new password (even though the
350 .Dq Password:
351 field does not show
352 up in the editor template, the super-user may add it back by hand),
353 but even the super-user must supply the user's original password
354 otherwise
355 .Xr rpc.yppasswdd 8
356 will refuse to update the NIS maps.
357 .Pp
358 Exception: the super-user on the NIS master server is permitted to
359 change a user's NIS password with
360 .Nm Ns .
361 .El
362 .Pp
363 There are also a few extra option flags that are available when
364 .Nm
365 is compiled with NIS support:
366 .Bl -tag -width indent
367 .It Fl l
368 Force
369 .Nm
370 to modify the local copy of a user's password
371 information in the even that a user exists in both
372 the local and NIS databases.
373 .It Fl y
374 Opposite effect of
375 .Fl l .
376 This flag is largely redundant since
377 .Nm
378 operates on NIS entries by default if NIS is enabled.
379 .It Fl d Ar domain
380 Specify a particular NIS domain.
381 .Nm Chpass
382 uses the system domain name by default, as set by the
383 .Xr domainname 1
384 command. The
385 .Fl d
386 option can be used to override a default, or to specify a domain
387 when the system domain name is not set.
388 .It Fl h Ar host
389 Specify the name or address of an NIS server to query. Normally,
390 .Nm
391 will communicate with the NIS master host specified in the
392 .Pa master.passwd
393 or
394 .Pa passwd
395 maps. On hosts that have not been configured as NIS clients, there is
396 no way for the program to determine this information unless the user
397 provides the hostname of a server. Note that the specified hostname need
398 not be that of the NIS master server; the name of any server, master or
399 slave, in a given NIS domain will do.
400 .Pp
401 When using the
402 .Fl d
403 option, the hostname defaults to
404 .Dq localhost .
405 The
406 .Fl h
407 option can be used in conjunction with the
408 .Fl d
409 option, in which case the user-specified hostname will override
410 the default.
411 .Pp
412 .It Fl o
413 Force the use of RPC-based updates when communicating with
414 .Xr rpc.yppasswdd 8
415 .Pq Dq old-mode .
416 When invoked by the super-user on the NIS master server,
417 .Nm
418 allows unrestricted changes to the NIS passwd maps using dedicated,
419 non-RPC-based mechanism (in this case, a
420 .Ux
421 domain socket). The
422 .Fl o
423 flag can be used to force
424 .Nm
425 to use the standard update mechanism instead. This option is provided
426 mainly for testing purposes.
427 .El
428 .Pp
429 .Sh FILES
430 .Bl -tag -width /etc/master.passwd -compact
431 .It Pa /etc/master.passwd
432 the user database
433 .It Pa /etc/passwd
434 a Version 7 format password file
435 .It Pa /etc/chpass.XXXXXX
436 temporary copy of the password file
437 .It Pa /etc/shells
438 the list of approved shells
439 .El
440 .Sh SEE ALSO
441 .Xr finger 1 ,
442 .Xr login 1 ,
443 .Xr passwd 1 ,
444 .Xr getusershell 3 ,
445 .Xr login.conf 5 ,
446 .Xr passwd 5 ,
447 .Xr pwd_mkdb 8 ,
448 .Xr vipw 8
449 .Rs
450 .%A Robert Morris
451 and
452 .%A Ken Thompson
453 .%T "UNIX Password security"
454 .Re
455 .Sh NOTES
456 The
457 .Xr chfn 1 ,
458 .Xr chsh 1 ,
459 .Xr ypchpass 1 ,
460 .Xr ypchfn 1
461 and
462 .Xr ypchsh 1
463 commands are really only links to
464 .Nm Ns .
465 .Sh BUGS
466 User information should (and eventually will) be stored elsewhere.
467 .Sh HISTORY
468 The
469 .Nm chpass
470 command appeared in
471 .Bx 4.3 Reno .