xref: /freebsd/usr.bin/passwd/passwd.1 (revision daf1cffce2e07931f27c6c6998652e90df6ba87e)
1.\" Copyright (c) 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.\"	@(#)passwd.1	8.1 (Berkeley) 6/6/93
33.\" $FreeBSD$
34.\"
35.Dd June 6, 1993
36.Dt PASSWD 1
37.Os BSD 4
38.Sh NAME
39.Nm passwd, yppasswd
40.Nd modify a user's password
41.Sh SYNOPSIS
42.Nm passwd
43.Op Fl l
44.Op Ar user
45.Nm yppasswd
46.Op Fl l
47.Op Fl y
48.Op Fl d Ar domain
49.Op Fl h Ar host
50.Op Fl o
51.Sh DESCRIPTION
52.Nm Passwd
53changes the user's local, Kerberos, or NIS password.
54If the user is not the super-user,
55.Nm passwd
56first prompts for the current password and will not continue unless the correct
57password is entered.
58.Pp
59When entering the new password, the characters entered do not echo, in order to
60avoid the password being seen by a passer-by.
61.Nm passwd
62prompts for the new password twice in order to detect typing errors.
63.Pp
64The new password should be at least six characters long (which
65may be overridden using the
66.Xr login.conf 5
67.if t ``minpasswordlen''
68.if n "minpasswordlen"
69setting for a user's login class) and not purely alphabetic.
70Its total length must be less than
71.Dv _PASSWORD_LEN
72(currently 128 characters).
73.Pp
74The new password should contain a mixture of upper and lower case
75characters (which may be overridden using the
76.Xr login.conf 5
77.if t ``mixpasswordcase''
78.if n "mixpasswordcase"
79setting for a user's login class).  Allowing lower case passwords may
80be useful where the password file will be used in situations where only
81lower case passwords are permissable, such as when using Samba to
82authenticate Windows clients.  In all other situations, numbers, upper
83case letters and meta characters are encouraged.
84.Pp
85Once the password has been verified,
86.Nm passwd
87communicates the new password information to
88the Kerberos authenticating host.
89.Bl -tag -width flag
90.It Fl l
91This option causes the password to be updated only in the local
92password file, and not with the Kerberos database.
93When changing only the local password,
94.Xr pwd_mkdb  8
95is used to update the password databases.
96.Pp
97.El
98When changing local or NIS password, the next password change date
99is set according to
100.if t ``passwordtime''
101.if n "passwordtime"
102capability in the user's login class.
103.Pp
104To change another user's Kerberos password, one must first
105run
106.Xr kinit 1
107followed by
108.Xr passwd 1 .
109The super-user is not required to provide a user's current password
110if only the local password is modified.
111.Sh NIS INTERACTION
112.Nm Passwd
113has built-in support for NIS. If a user exists in the NIS password
114database but does not exist locally,
115.Nm passwd
116automatically switches into
117.if t ``yppasswd''
118.if n "yppasswd"
119mode. If the specified
120user does not exist in either the local password database of the
121NIS password maps,
122.Nm passwd
123returns an error.
124.Pp
125When changing an NIS password, unprivileged users are required to provide
126their old password for authentication (the
127.Xr rpc.yppasswdd 8
128daemon requires the original password before
129it will allow any changes to the NIS password maps).
130This restriction applies even to the
131super-user, with one important exception: the password authentication is
132bypassed for the super-user on the NIS master server. This means that
133the super-user on the NIS master server can make unrestricted changes to
134anyone's NIS password. The super-user on NIS client systems and NIS slave
135servers still needs to provide a password before the update will be processed.
136.Pp
137The following additional options are supported for use with NIS:
138.Bl -tag -width flag
139.It Fl y
140The
141.Fl y
142flag overrides
143.Nm passwd 's
144checking heuristics and forces
145it into NIS mode.
146.It Fl l
147When NIS is enabled, the
148.Fl l
149flag can be used to force
150.Nm passwd
151into
152.if t ``local only''
153.if n "local only"
154mode. This flag can be used to change the entry
155for a local user when an NIS user exists with the same login name.
156For example, you will sometimes find entries for system
157.if t ``placeholder''
158.if n "placeholder"
159users such as
160.Pa bin
161or
162.Pa daemon
163in both the NIS password maps and the local user database. By
164default,
165.Nm passwd
166will try to change the NIS password. The
167.Fl l
168flag can be used to change the local password instead.
169.It Fl d Ar domain
170Specify what domain to use when changing an NIS password. By default,
171.Nm passwd
172assumes that the system default domain should be used. This flag is
173primarily for use by the superuser on the NIS master server: a single
174NIS server can support multiple domains. It is also possible that the
175domainname on the NIS master may not be set (it is not necessary for
176an NIS server to also be a client) in which case the
177.Nm passwd
178command needs to be told what domain to operate on.
179.It Fl s Ar host
180Specify the name of an NIS server. This option, in conjunction
181with the
182.Fl d
183option, can be used to change an NIS password on a non-local NIS
184server. When a domain is specified with the
185.Fl d
186option and
187.Nm passwd
188is unable to determine the name of the NIS master server (possibly because
189the local domainname isn't set), the name of the NIS master is assumed to
190be
191.if t ``localhost''.
192.if n "localhost".
193This can be overidden with the
194.Fl s
195flag. The specified hostname need not be the name of an NIS master: the
196name of the NIS master for a given map can be determined by querying any
197NIS server (master or slave) in a domain, so specifying the name of a
198slave server will work equally well.
199.Pp
200.It Fl o
201Do not automatically override the password authentication checks for the
202super-user on the NIS master server; assume 'old' mode instead. This
203flag is of limited practical use but is useful for testing.
204.El
205.Sh FILES
206.Bl -tag -width /etc/master.passwd -compact
207.It Pa /etc/master.passwd
208The user database
209.It Pa /etc/passwd
210A Version 7 format password file
211.It Pa /etc/passwd.XXXXXX
212Temporary copy of the password file
213.It Pa /etc/login.conf
214Login class capabilities database
215.It Pa /etc/auth.conf
216configure authentication services
217.El
218.Sh SEE ALSO
219.Xr chpass 1 ,
220.Xr kerberos 1 ,
221.Xr kinit 1 ,
222.Xr login 1 ,
223.Xr login.conf 5 ,
224.Xr passwd 5 ,
225.Xr kpasswdd 8 ,
226.Xr pwd_mkdb 8 ,
227.Xr vipw 8
228.Rs
229.%A Robert Morris
230.%A Ken Thompson
231.%T "UNIX password security"
232.Re
233.Sh NOTES
234The
235.Xr yppasswd 1
236command is really only a link to
237.Nm passwd .
238.Sh HISTORY
239A
240.Nm passwd
241command appeared in
242.At v6 .
243