1 .\" Copyright (c) 1995, 1996
2 .\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
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 Bill Paul.
15 .\" 4. Neither the name of the author nor the names of contributors
16 .\" may be used to endorse or promote products derived from this software
17 .\" without specific prior written permission.
19 .\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
20 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 .\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE
23 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 .\" $FreeBSD: src/usr.sbin/rpc.yppasswdd/rpc.yppasswdd.8,v 1.12.2.8 2003/03/11 22:31:32 trhodes Exp $
32 .\" $DragonFly: src/usr.sbin/rpc.yppasswdd/rpc.yppasswdd.8,v 1.4 2006/02/17 19:40:24 swildner Exp $
39 .Nd "server for updating NIS passwords"
42 .Op Fl t Ar master.passwd template file
43 .Op Fl d Ar default domain
56 utility allows users to change their NIS passwords and certain
57 other information using the
65 is an RPC-based server that accepts incoming password change requests,
66 authenticates them, places the updated information in the
67 .Pa /var/yp/master.passwd
68 template file and then updates the NIS
76 utility allows a normal NIS user to change
77 his or her NIS password, full name (also
78 known as 'GECOS' field) or shell.
79 These updates are typically done using
87 (Some administrators don't want users to be able to change their
88 full name information or shells; the server can be invoked with option flags
89 that disallow such changes.)
90 When the server receives an update request,
91 it compares the address of the client making the request against the
94 .Pa /var/yp/securenets .
97 manual page for more information on securenets; the
99 utility uses the same access control mechanism as
103 checks the 'old' password supplied by the user to make sure it's
104 valid, then performs some sanity checks on the updated information (these
105 include checking for embedded control characters, colons or invalid shells).
106 Once it is satisfied that the update request is valid, the server modifies
107 the template password file (the default is
108 .Pa /var/yp/master.passwd )
110 .Pa /usr/libexec/yppwupdate
111 script to rebuild the NIS maps.
112 (This script has two arguments passed
113 to it: the absolute pathname of the password template that was modified
114 and the name of the domain that is to be updated.
117 .Pa /var/yp/Makefile ) .
123 also allows the super-user on the NIS master server to perform more
124 sophisticated updates on the NIS passwd maps.
125 The super-user can modify
126 any field in any user's master.passwd entry in any domain, and can
127 do so without knowing the user's existing NIS password (when the server
128 receives a request from the super-user, the password authentication
129 check is bypassed). Furthermore, if the server is invoked with the
131 flag, the super-user can even add new entries to the maps using
133 Again, this only applies to the super-user on the NIS
134 master server: none of these special functions can be performed over
139 utility can only be run on a machine that is an NIS master server.
141 The following options are available:
142 .Bl -tag -width indent
143 .It Fl t Ar master.passwd template file
146 assumes that the template file used to generates the
150 maps for the default domain is called
151 .Pa /var/yp/master.passwd .
152 This default can be overridden by specifying an alternate file name
157 Note: if the template file specified with this flag is
158 .Pa /etc/master.passwd ,
160 will also automatically invoke
162 to rebuild the local password databases in addition to the NIS
167 utility can support multiple domains, however it must
168 choose one domain as a default.
169 It will try to use the system default domain name as set by the
171 command for this default.
173 if the system domain name is not
174 set, a default domain must be specified on
176 If the system default domain is set,
177 then this option can be used to override it.
179 This option can be used to override the default path to
180 the location of the NIS
182 The compiled-in default path is
185 Disallow changing of shell information.
187 Disallow changing of full name ('GECOS') information.
189 Allow additions to be made to the NIS passwd databases.
190 The super-user on the
191 NIS master server is permitted to use the
193 command to perform unrestricted modifications to any field in a user's
198 is started with this flag, it will also allow the super-user to add new
199 records to the NIS passwd maps, just as is possible when using
201 to modify the local password database.
203 Turn on multi-domain mode.
206 can handle several simultaneous domains, most implementations of
208 can only operate on a single NIS domain, which is generally the same as
209 the system default domain of the NIS master server.
213 attempts to overcome this problem in spite of the inherent limitations
216 protocol, which does not allow for a
218 argument in client requests.
219 In multi-domain mode,
221 will search through all the passwd maps of all the domains it
224 until it finds an entry that matches the user information specified in
225 a given update request.
226 (Matches are determined by checking the username,
228 The matched entry and corresponding domain are then
231 Note that in order for multi-domain mode to work, there have to be
232 separate template files for each domain.
233 For example, if a server
234 supports three domains,
239 there should be three separate master.passwd template files called
240 .Pa /var/yp/foo/master.passwd ,
241 .Pa /var/yp/bar/master.passwd ,
243 .Pa /var/yp/baz/master.passwd .
246 happens to be the system default domain, then its template file can
248 .Pa /var/yp/foo/master.passwd
250 .Pa /var/yp/master.passwd .
251 The server will check for the latter file first and then use the former
254 Multi-domain mode is off by default since it can fail if there are
255 duplicate or near-duplicate user entries in different domains.
257 will abort an update request if it finds more than one user entry that
258 matches its search criteria.
259 Even so, paranoid administrators
260 may wish to leave multi-domain mode disabled.
264 is invoked with this flag, it will perform map updates in place.
266 means that instead of just modifying the password template file and
267 starting a map update, the server will modify the map databases
269 This is useful when the password maps are large: if, for
270 example, the password database has tens of thousands of entries, it
271 can take several minutes for a map update to complete.
273 maps in place reduces this time to a few seconds.
275 Turn on verbose logging mode.
276 The server normally only logs messages
279 facility when it encounters an error condition, or when processing
280 updates for the super-user on the NIS master server.
284 flag will cause it to log informational messages for all updates.
288 clients do not use a reserved port when sending requests to
290 This is either because the
292 program is not installed set-uid root, or because the RPC
293 implementation does not place any emphasis on binding to reserved
294 ports when establishing client connections for the super-user.
297 expects to receive requests from clients using reserved ports; requests
298 received from non-privileged ports are rejected.
300 behavior prevents any client systems that to not use privileged
301 ports from successfully submitting password updates.
307 disables the privileged port check so that it will work with
309 clients that don't use privileged ports.
310 This reduces security to
311 a certain small degree, but it might be necessary in cases where it
312 is not possible to change the client behavior.
314 Display the list of flags and options understood by
318 .Bl -tag -width Pa -compact
319 .It Pa /usr/libexec/yppwupdate
320 The script invoked by
322 to update and push the NIS maps after
324 .It Pa /var/yp/master.passwd
325 The template password file for the default domain.
326 .It Pa /var/yp/[domainname]/[maps]
327 The NIS maps for a particular NIS domain.
328 .It Pa /var/yp/[domainname]/master.passwd
329 The template password file(s) for non-default domains
330 (used only in multi-domain mode).
338 .An Bill Paul Aq wpaul@ctr.columbia.edu
340 As listed in the yppasswd.x protocol definition, the YPPASSWDPROC_UPDATE
341 procedure takes two arguments: a V7-style passwd structure containing
342 updated user information and the user's existing unencrypted (cleartext)
346 is supposed to handle update requests from remote NIS client machines,
349 and similar client programs will in fact be transmitting users' cleartext
350 passwords over the network.
352 This is not a problem for password updates since the plaintext password
353 sent with the update will no longer be valid once the new encrypted password
354 is put into place, but if the user is only updating his or her 'GECOS'
355 information or shell, then the cleartext password sent with the update
356 will still be valid once the update is completed.
358 insecure, this cleartext password could be intercepted and used to
359 gain unauthorized access to the user's account.