Annotation of src/usr.bin/passwd/passwd.1, Revision 1.25
1.25 ! jmc 1: .\" $OpenBSD: passwd.1,v 1.24 2003/06/03 02:56:14 millert Exp $
1.9 aaron 2: .\"
1.1 deraadt 3: .\" Copyright (c) 1990 The Regents of the University of California.
4: .\" All rights reserved.
5: .\"
6: .\" Redistribution and use in source and binary forms, with or without
7: .\" modification, are permitted provided that the following conditions
8: .\" are met:
9: .\" 1. Redistributions of source code must retain the above copyright
10: .\" notice, this list of conditions and the following disclaimer.
11: .\" 2. Redistributions in binary form must reproduce the above copyright
12: .\" notice, this list of conditions and the following disclaimer in the
13: .\" documentation and/or other materials provided with the distribution.
1.24 millert 14: .\" 3. Neither the name of the University nor the names of its contributors
1.1 deraadt 15: .\" may be used to endorse or promote products derived from this software
16: .\" without specific prior written permission.
17: .\"
18: .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19: .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20: .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21: .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22: .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23: .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24: .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25: .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26: .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27: .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28: .\" SUCH DAMAGE.
29: .\"
30: .\" from: @(#)passwd.1 6.11 (Berkeley) 7/24/91
31: .\"
32: .Dd July 24, 1991
33: .Dt PASSWD 1
1.8 aaron 34: .Os
1.1 deraadt 35: .Sh NAME
36: .Nm passwd
37: .Nd modify a user's password
38: .Sh SYNOPSIS
39: .Nm passwd
1.25 ! jmc 40: .Bk -words
1.1 deraadt 41: .Op Fl l
1.5 art 42: .Op Fl y
1.1 deraadt 43: .Op Fl k
1.17 hin 44: .Op Fl K
1.5 art 45: .Op Fl n Ar name
46: .Op Fl i Ar instance
47: .Op Fl r Ar realm
48: .Op Fl u Ar username[.instance][@realm]
1.1 deraadt 49: .Op Ar user
1.25 ! jmc 50: .Ek
1.5 art 51: .\" This should really be: passwd [-l] [-y] [-k [-n name] [-i instance] [-r realm] [-u username[.instance][@realm]]] [user]
1.1 deraadt 52: .Sh DESCRIPTION
1.13 aaron 53: .Nm
1.17 hin 54: changes the user's local, KerberosIV, KerberosV, or YP password.
1.9 aaron 55: First, the user is prompted for their current password.
1.13 aaron 56: If the current password is correctly typed, a new password is requested.
1.1 deraadt 57: The new password must be entered twice to avoid typing errors.
58: .Pp
59: The new password should be at least six characters long and not
60: purely alphabetic.
61: Its total length must be less than
62: .Dv _PASSWORD_LEN
63: (currently 128 characters).
1.13 aaron 64: A mixture of both lower and uppercase letters, numbers, and
65: meta-characters is encouraged.
1.12 provos 66: .Pp
1.18 millert 67: The quality of the password can be enforced by specifying an external
68: checking program via the
69: .Dq passwordcheck
70: variable in
71: .Xr login.conf 5 .
1.9 aaron 72: .Pp
73: The options are as follows:
1.14 aaron 74: .Bl -tag -width Ds
1.1 deraadt 75: .It Fl l
1.13 aaron 76: Causes the password to be updated only in the local password file.
1.9 aaron 77: When changing only the local password,
78: .Xr pwd_mkdb 8
1.1 deraadt 79: is used to update the password databases.
1.6 art 80: .It Fl y
1.7 aaron 81: Forces the YP password database entry to be changed, even if
1.9 aaron 82: the user has an entry in the local database.
83: The
1.6 art 84: .Xr rpc.yppasswdd 8
85: daemon should be running on the YP master server.
1.1 deraadt 86: .It Fl k
1.17 hin 87: Forces the change to affect the KerberosIV database, even
1.1 deraadt 88: if the user has a password in the local database.
89: Once the password has been verified,
1.13 aaron 90: .Nm
1.17 hin 91: communicates the new password information to the KerberosIV authenticating host.
1.6 art 92: .El
93: .Pp
1.8 aaron 94: The following flags are only used when the
1.6 art 95: .Fl k
1.7 aaron 96: flag is specified:
1.6 art 97: .Bl -tag -width flag
1.7 aaron 98: .It Fl n Ar name
1.8 aaron 99: Specifies a
1.7 aaron 100: .Ar name
1.9 aaron 101: that will be used as the principal name rather than the username
1.6 art 102: of the user running
1.7 aaron 103: .Nm passwd .
1.9 aaron 104: (This is determined from the ticket file if it exists; otherwise,
1.7 aaron 105: it is determined from the Unix user ID.)
106: .It Fl i Ar instance
1.8 aaron 107: Specifies an
108: .Ar instance
1.6 art 109: to use rather than a null instance.
1.7 aaron 110: .It Fl r Ar realm
111: Specifies a
112: .Ar realm
1.6 art 113: instead of the local realm.
1.7 aaron 114: .It Fl u Ar username[.instance][@realm]
1.17 hin 115: Specifies a fully qualified KerberosIV principal.
116: .It Fl K Ar principal@REALM
117: Changes a users KerberosV password.
1.1 deraadt 118: .El
119: .Pp
120: This is the behavior if no flags are specified:
1.17 hin 121: if KerberosIV is active then
1.13 aaron 122: .Nm
1.17 hin 123: will talk to the KerberosIV server (even if the user has an entry
1.7 aaron 124: in the local database).
1.1 deraadt 125: If the password is not in the local password database, then
126: an attempt is made to use the YP database.
127: .Pp
1.17 hin 128: To change another user's KerberosIV password, one must first run
1.1 deraadt 129: .Xr kinit 1
130: followed by
1.25 ! jmc 131: .Nm passwd .
1.11 aaron 132: The superuser is not required to provide a user's current password
1.1 deraadt 133: if only the local password is modified.
1.4 provos 134: .Pp
135: Which type of cipher is used to encrypt the password information
136: depends on the configuration in
1.18 millert 137: .Xr login.conf 5 .
138: It can be different for local
139: .Po Do localcipher Dc Pc
140: and YP
141: .Po Do ypcipher Dc Pc
142: passwords.
1.25 ! jmc 143: .Sh FILES
! 144: .Bl -tag -width /etc/master.passwd -compact
! 145: .It /etc/login.conf
! 146: configuration options
! 147: .It Pa /etc/master.passwd
! 148: user database
! 149: .It Pa /etc/passwd
! 150: a Version 7 format password file
! 151: .It Pa /etc/passwd.XXXXXX
! 152: temporary copy of the password file
! 153: .It /etc/ptmp
! 154: lock file for the passwd database
! 155: .El
1.13 aaron 156: .Sh DIAGNOSTICS
157: .Bl -diag
1.20 millert 158: .It "Attempting lock password file, please wait or press ^C to abort"
159: .Pp
160: The password file is currently locked by another process;
161: .Nm
162: will keep trying to lock the password file until it succeeds or
1.23 deraadt 163: you hit the interrupt character (control-C by default).
1.20 millert 164: If
165: .Nm
166: is interrupted while trying to gain the lock the password changed will
167: be lost.
168: .Pp
169: If the process holding the lock was prematurely terminated the lock
170: file may be stale and
171: .Nm
172: will wait forever trying to lock the password file.
173: To determine whether a live process is actually holding the lock, the
1.18 millert 174: admin may run the following:
175: .Bd -literal -offset indent
1.22 mpech 176: $ fstat /etc/ptmp
1.18 millert 177: .Ed
178: .Pp
179: If no process is listed, it is safe to remove the
1.13 aaron 180: .Pa /etc/ptmp
1.20 millert 181: file to clear the error.
1.1 deraadt 182: .El
183: .Sh SEE ALSO
184: .Xr chpass 1 ,
185: .Xr kerberos 1 ,
186: .Xr kinit 1 ,
187: .Xr login 1 ,
1.18 millert 188: .Xr login.conf 5 ,
1.1 deraadt 189: .Xr passwd 5 ,
190: .Xr pwd_mkdb 8 ,
191: .Xr vipw 8
192: .Rs
1.16 deraadt 193: .%A Robert Morris
194: .%A Ken Thompson
1.1 deraadt 195: .%T "UNIX password security"
196: .Re
197: .Sh HISTORY
198: A
1.13 aaron 199: .Nm
1.1 deraadt 200: command appeared in
1.21 mickey 201: .At v3 .