]> git.cameronkatri.com Git - pw-darwin.git/blob - chpass/chpass.1
Fixed `make -j9' by putting generated headers in ${SRCS}. Removed bogus
[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 .\" $Id$
34 .\"
35 .Dd December 30, 1993
36 .Dt CHPASS 1
37 .Os
38 .Sh NAME
39 .Nm chpass, chfn, chsh, ypchpass, ypchfn, ypchsh
40 .Nd add or change user database information
41 .Sh SYNOPSIS
42 .Nm chpass
43 .Op Fl a Ar list
44 .Op Fl p Ar encpass
45 .Op Fl s Ar newshell
46 .Op user
47 .Sh DESCRIPTION
48 The
49 .Nm chpass
50 program
51 allows editing of the user database information associated
52 with
53 .Ar user
54 or, by default, the current user.
55 The information is formatted and supplied to an editor for changes.
56 .Pp
57 Only the information that the user is allowed to change is displayed.
58 .Pp
59 The options are as follows:
60 .Bl -tag -width flag
61 .It Fl a
62 The super-user is allowed to directly supply a user database
63 entry, in the format specified by
64 .Xr passwd 5 ,
65 as an argument.
66 This argument must be a colon (``:'') separated list of all the
67 user database fields, although they may be empty.
68 .It Fl p
69 The super-user is allowed to directly supply an encrypted password field,
70 in the format used by
71 .Xr crypt 3 ,
72 as an argument.
73 .It Fl s
74 The
75 .Fl s
76 option attempts to change the user's shell to
77 .Ar newshell .
78 .El
79 .Pp
80 Possible display items are as follows:
81 .Pp
82 .Bl -tag -width "Home Directory:" -compact -offset indent
83 .It Login:
84 user's login name
85 .It Password:
86 user's encrypted password
87 .It Uid:
88 user's login
89 .It Gid:
90 user's login group
91 .It Change:
92 password change time
93 .It Expire:
94 account expiration time
95 .It Class:
96 user's general classification
97 .It Home Directory:
98 user's home directory
99 .It Shell:
100 user's login shell
101 .It Full Name:
102 user's real name
103 .It Location:
104 user's normal location
105 .It Home Phone:
106 user's home phone
107 .It Office Phone:
108 user's office phone
109 .El
110 .Pp
111 The
112 .Ar login
113 field is the user name used to access the computer account.
114 .Pp
115 The
116 .Ar password
117 field contains the encrypted form of the user's password.
118 .Pp
119 The
120 .Ar uid
121 field is the number associated with the
122 .Ar login
123 field.
124 Both of these fields should be unique across the system (and often
125 across a group of systems) as they control file access.
126 .Pp
127 While it is possible to have multiple entries with identical login names
128 and/or identical user id's, it is usually a mistake to do so. Routines
129 that manipulate these files will often return only one of the multiple
130 entries, and that one by random selection.
131 .Pp
132 The
133 .Ar group
134 field is the group that the user will be placed in at login.
135 Since BSD supports multiple groups (see
136 .Xr groups 1 )
137 this field currently has little special meaning.
138 This field may be filled in with either a number or a group name (see
139 .Xr group 5 ) .
140 .Pp
141 The
142 .Ar change
143 field is the date by which the password must be changed.
144 .Pp
145 The
146 .Ar expire
147 field is the date on which the account expires.
148 .Pp
149 Both the
150 .Ar change
151 and
152 .Ar expire
153 fields should be entered in the form ``month day year'' where
154 .Ar month
155 is the month name (the first three characters are sufficient),
156 .Ar day
157 is the day of the month, and
158 .Ar year
159 is the year.
160 .Pp
161 The
162 .Ar class
163 field is currently unused. In the near future it will be a key to
164 a
165 .Xr termcap 5
166 style database of user attributes.
167 .Pp
168 The user's
169 .Ar home directory
170 is the full UNIX path name where the user
171 will be placed at login.
172 .Pp
173 The
174 .Ar shell
175 field is the command interpreter the user prefers.
176 If the
177 .Ar shell
178 field is empty, the Bourne shell,
179 .Pa /bin/sh ,
180 is assumed.
181 When altering a login shell, and not the super-user, the user
182 may not change from a non-standard shell or to a non-standard
183 shell.
184 Non-standard is defined as a shell not found in
185 .Pa /etc/shells .
186 .Pp
187 The last four fields are for storing the user's
188 .Ar full name , office location ,
189 and
190 .Ar home
191 and
192 .Ar work telephone
193 numbers.
194 .Pp
195 Once the information has been verified,
196 .Nm chpass
197 uses
198 .Xr pwd_mkdb 8
199 to update the user database.
200 .Sh ENVIRONMENT
201 The
202 .Xr vi 1
203 editor will be used unless the environment variable EDITOR is set to
204 an alternate editor.
205 When the editor terminates, the information is re-read and used to
206 update the user database itself.
207 Only the user, or the super-user, may edit the information associated
208 with the user.
209 .Sh NIS INTERACTION
210 .Nm Chpass
211 can also be used in conjunction with NIS, however some restrictions
212 apply.
213 Currently,
214 .Nm chpass
215 can only make changes to the NIS passwd maps through
216 .Xr rpc.yppasswdd 8 ,
217 which normally only permits changes to a user's password, shell and GECOS
218 fields. Except when invoked by the super-user on the NIS master server,
219 .Nm chpass
220 (and, similarly,
221 .Xr passwd 1 )
222 can not use the
223 .Xr rpc.yppasswdd 8
224 server to change other user information or
225 add new records to the NIS passwd maps.
226 Furthermore,
227 .Xr rpc.yppasswdd 8
228 requires password authentication before it will make any
229 changes. The only user allowed to submit changes without supplying
230 a password is the super-user on the NIS master server; all other users,
231 including those with root privileges on NIS clients (and NIS slave
232 servers) must enter a password.
233 (The super-user on the NIS master is allowed to bypass these restrictions
234 largely for convenience: a user with root access
235 to the NIS master server already has the privileges required to make
236 updates to the NIS maps, but editing the map source files by hand can
237 be cumbersome.
238 .Pp
239 Note: these exceptions only apply when the NIS master server is a
240 FreeBSD system.)
241 .Pp
242 Consequently, except where noted, the following restrictions apply when
243 .Nm chpass
244 is used with NIS:
245 .Bl -enum -offset indent
246 .It
247 .Pa Only the shell and GECOS information may be changed.
248 All other
249 fields are restricted, even when
250 .Nm chpass
251 is invoked by the super-user.
252 While support for
253 changing other fields could be added, this would lead to
254 compatibility problems with other NIS-capable systems.
255 Even though the super-user may supply data for other fields
256 while editing an entry, the extra information (other than the
257 password -- see below) will be silently discarded.
258 .Pp
259 Exception: the super-user on the NIS master server is permitted to
260 change any field.
261 .Pp
262 .It
263 .Pa Password authentication is required.
264 .Nm Chpass
265 will prompt for the user's NIS password before effecting
266 any changes. If the password is invalid, all changes will be
267 discarded.
268 .Pp
269 Exception: the super-user on the NIS master server is allowed to
270 submit changes without supplying a password. (The super-user may
271 choose to turn off this feature using the
272 .Fl o
273 flag, described below.)
274 .It
275 .Pa Adding new records to the local
276 .Pa password database is discouraged.
277 .Nm Chpass
278 will allow the administrator to add new records to the
279 local password database while NIS is enabled, but this can lead to
280 some confusion since the new records are appended to the end of
281 the master password file, usually after the special NIS '+' entries.
282 The administrator should use
283 .Xr vipw 8
284 to modify the local password
285 file when NIS is running.
286 .Pp
287 The super-user on the NIS master server is permitted to add new records
288 to the NIS password maps, provided the
289 .Xr rpc.yppasswdd 8
290 server has been started with the
291 .Fl a
292 flag to permitted additions (it refuses them by default).
293 .Nm Chpass
294 tries to update the local password database by default; to update the
295 NIS maps instead, invoke chpass with the
296 .Fl y
297 flag.
298 .It
299 .Pa Password changes are not permitted.
300 Users should use
301 .Xr passwd 1
302 or
303 .Xr yppasswd 1
304 to change their NIS passwords. The super-user is allowed to specify
305 a new password (even though the ``Password:'' field does not show
306 up in the editor template, the super-user may add it back by hand),
307 but even the super-user must supply the user's original password
308 otherwise
309 .Xr rpc.yppasswdd 8
310 will refuse to update the NIS maps.
311 .Pp
312 Exception: the super-user on the NIS master server is permitted to
313 change a user's NIS password with
314 .Nm chpass .
315 .El
316 .Pp
317 There are also a few extra option flags that are available when
318 .Nm chpass
319 is compiled with NIS support:
320 .Bl -tag -width flag
321 .It Fl l
322 The
323 .Fl l
324 flag forces
325 .Nm chpass
326 to modify the local copy of a user's password
327 information in the even that a user exists in both
328 the local and NIS databases.
329 .It Fl y
330 This flag has the opposite effect of
331 .Fl l .
332 This flag is largely redundant since
333 .Nm chpass
334 operates on NIS entries by default if NIS is enabled.
335 .It Fl d Ar domain
336 Specify a particular NIS domain.
337 .Nm Chpass
338 uses the system domain name by default, as set by the
339 .Xr domainname 1
340 command. The
341 .Fl d
342 option can be used to override a default, or to specify a domain
343 when the system domain name is not set.
344 .It Fl h Ar host
345 Specify the name or address of an NIS server to query. Normally,
346 .Nm chpass
347 will communicate with the NIS master host specified in the
348 .Pa master.passwd
349 or
350 .Pa passwd
351 maps. On hosts that have not been configured as NIS clients, there is
352 no way for the program to determine this information unless the user
353 provides the hostname of a server. Note that the specified hostname need
354 not be that of the NIS master server; the name of any server, master or
355 slave, in a given NIS domain will do.
356 .Pp
357 When using the
358 .Fl d
359 option, the hostname defaults to ``localhost.'' The
360 .Fl h
361 option can be used in conjunction with the
362 .Fl d
363 option, in which case the user-specified hostname will override
364 the default.
365 .Pp
366 .It Fl o
367 Force the use of RPC-based updates when communicating with
368 .Xr rpc.yppasswdd 8
369 (``old-mode'').
370 When invoked by the super-user on the NIS master server,
371 .Nm chpass
372 allows unrestricted changes to the NIS passwd maps using dedicated,
373 non-RPC-based mechanism (in this case, a UNIX domain socket). The
374 .Fl o
375 flag can be used to force
376 .Nm chpass
377 to use the standard update mechanism instead. This option is provided
378 mainly for testing purposes.
379 .El
380 .Pp
381 .Sh FILES
382 .Bl -tag -width /etc/master.passwd -compact
383 .It Pa /etc/master.passwd
384 The user database
385 .It Pa /etc/passwd
386 A Version 7 format password file
387 .It Pa /etc/chpass.XXXXXX
388 Temporary copy of the password file
389 .It Pa /etc/shells
390 The list of approved shells
391 .El
392 .Sh SEE ALSO
393 .Xr finger 1 ,
394 .Xr login 1 ,
395 .Xr passwd 1 ,
396 .Xr getusershell 3 ,
397 .Xr passwd 5 ,
398 .Xr pwd_mkdb 8 ,
399 .Xr vipw 8
400 .Rs
401 .%A Robert Morris
402 and
403 .%A Ken Thompson
404 .%T "UNIX Password security"
405 .Re
406 .Sh NOTES
407 The
408 .Xr chfn 1 ,
409 .Xr chsh 1 ,
410 .Xr ypchpass 1 ,
411 .Xr ypchfn 1
412 and
413 .Xr ypchsh 1
414 commands are really only links to
415 .Nm chpass .
416 .Sh BUGS
417 User information should (and eventually will) be stored elsewhere.
418 .Sh HISTORY
419 The
420 .Nm
421 command appeared in
422 .Bx 4.3 Reno .