RPC.YPPASSWDD(8)
β¨ RPC.YPPASSWDD(8) β like, the NIS password update daemon, bestie β¨
okay so welcome to the manual page for rpc.yppasswdd, from the NIS Reference Manual π sit down, grab a snack, we're doing password daemons today.
πΈ NAME πΈ
rpc.yppasswdd β the NIS password update daemon, aka the girl who lets everybody change their password when NIS (a.k.a. YP) is in the picture π«Ά
π SYNOPSIS π
rpc.yppasswdd [-D directory] -e chsh|chfn [--port number]
rpc.yppasswdd [-s shadow] [-p passwd] -e chsh|chfn [--port number]
rpc.yppasswdd -x program | -E program -e chsh|chfn [--port number]
π DESCRIPTION π
So rpc.yppasswdd is the RPC server that lets users change their passwords when NIS (a.k.a. YP) is running. It has to be run on the NIS master server for that NIS domain. no exceptions, that's the assignment. periodt.
When a yppasswd(1) client comes knocking, it sends over the old user password along with the new one. rpc.yppasswdd will search the system's passwd file for the specified user name, verify that the given (old) password matches, and update the entry. If the user specified does not exist, or if the password, UID or GID doesn't match the information in the password file, the update request is rejected, and an error returned to the client. like, vibe check failed, sorry babe π
If this version of the server is compiled with the CHECKROOT=1 option, the password given is also checked against the systems root password. π₯
After updating the passwd file and returning a success notification to the client, rpc.yppasswdd executes the pwupdate script that updates the NIS server's passwd.* and shadow.byname maps. This script assumes all NIS maps are kept in directories named /var/yp/nisdomain that each contain a Makefile customized for that NIS domain. If no such Makefile is found, the scripts uses the generic one in /var/yp. iconic behaviour honestly β¨
π OPTIONS π
The following options are available:
-Ddirectory β Thepasswdandshadowfiles are located under the specified directory path.rpc.yppasswddwill use this files, not/etc/passwdand/etc/shadow. This is useful if you do not want to give all users in the NIS database automatic access to your NIS server. π-Eprogram β Instead ofrpc.yppasswddediting thepasswd&shadowfiles, the specified program will be run to do the editing. The following environment variables will be set for the program:YP_PASSWD_OLD,YP_PASSWD_NEW,YP_USER,YP_GECOS,YP_SHELL. The program should return an exit status of0if the change completes successfully,1if the change completes successfully butpwupdateshould not be run, and otherwise if the change fails. π¦-ppasswdfile β This options tellsrpc.yppasswddto use a different source file instead of/etc/passwdThis is useful if you do not want to give all users in the NIS database automatic access to your NIS server.-sshadowfile β This options tellsrpc.yppasswddto use a different source file instead of/etc/passwd. See below for a brief discussion of shadow support. π-e[chsh|chfn]β By default,rpc.yppasswddwill not allow users to change the shell or GECOS field of their passwd entry. Using the-eoption, you can enable either of these. Note that when enabling support forypchsh(1), you have to list all shells users are allowed to select in/etc/shells. π-xprogram β When the-xoption is used,rpc.yppasswddwill not attempt to modify any files itself, but will instead run the specified program, passing to its stdin information about the requested operation(s). There is a defined protocol used to communicate with this external program, which has total freedom in how it propagates the change request. See below for more details on this. main character program energy fr fr-mβ Will be ignored, for compatibility with Solaris only. π literally just vibing there--portnumber βrpc.yppasswddwill try to register itself to this port. This makes it possible to have a router filter packets to the NIS ports.-v,--versionβ Prints the version number and if this package is compiled with theCHECKROOToption.
π MISCELLANEOUS π
π Shadow Passwords
Using Shadow passwords alongside NIS does not make too much sense, because the supposedly inaccesible passwords now become readable through a simple invocation of ypcat(1). π¬ yeah. that's the tea.
Shadow support in rpc.yppasswdd does not mean that it offers a very clever solution to this problem, it simply means that it can read and write password entries in the system's shadow file. You have to produce a shadow.byname NIS map to distribute password information to your NIS clients. rpc.yppasswdd will search at first in the /etc/passwd file for the user and password. If it find's the user, but the password is "x" and a /etc/shadow file exists, it will update the password in the shadow map. β¨
π§ Use of the -x option
The program should expect to read a single line from stdin, which is formatted as follows:
<username> o:<oldpass> p:<password> s:<shell> g:<gcos>\n
where any of the three fields [p, s, g] may or may not be present. so like, they're optional bestie, don't stress π
This program should write "OK\n" to stdout if the operation succeeded. On any other result, rpc.yppasswdd will report failure to the client.
Note that the program specified by the -x option is responsible for doing any NIS make and build, and for doing any necessary validation on the shell and gcos field information supplied. The password passed to the client will be in UNIX crypt() format. π
π Logging
rpc.yppasswdd logs all password update requests to syslogd(8)'s auth facility. The logging information includes the originating host's IP address and the user name and UID contained in the request. The user-supplied password itself is not logged. thank god π
β Security
rpc.yppasswdd should be as secure or insecure as any program relying on simple password authentication. If you feel that this is not enough, you may want to protect rpc.yppasswdd from outside access by using the `securenets' feature of the new portmap(8) version 3. Better still, look at rpasswdd(8).
π FILES π
/usr/sbin/rpc.yppasswdd/usr/lib/yp/pwupdate/etc/passwd/etc/shadow
π«Ά SEE ALSO π«Ά
passwd(5), shadow(5), passwd(1), rpasswdd(8), yppasswd(1), ypchsh(1), ypchfn(1), ypserv(8), ypcat(1)
π AUTHOR π
Olaf Kirch <okir@monad.swb.de> and Thorsten Kukuk <kukuk@linux-nis.org> β kings, honestly π
okay that's the whole thing bestie, no cap. this page came straight out of the NIS Reference Manual, dated 12/31/2020, and it's RPC.YPPASSWDD(8) if you need to cite it. slay, go change some passwords responsibly π
β¨πΈ
π¦ where this page comes from
- debian bookworm: ypserv 4.2-1+b2 Β· GPL-2.0-only
- debian trixie: ypserv 4.2-2+b2 Β· GPL-2.0-only
- ubuntu jammy: ypserv 4.1-2 Β· GPL-2.0-only
- ubuntu noble: ypserv 4.2-2build2 Β· GPL-2.0-only
- ubuntu questing: ypserv 4.2-2build2
- ubuntu resolute: ypserv 4.2-3 Β· GPL-2.0-only
- ubuntu stonking: ypserv 4.2-3build1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms