I'm administrating a system where users authenticate via NIS and things went wrong when a user tried to use yppasswd to change her password. She got the error:
yppasswd: yppasswdd not running on NIS master host ("localhost").
Based on suggestions elsewhere around the Web, I tried setting an entry in /etc/hosts with the client's IP (as opposed to 127.0.0.1) pointing to the client's host name. This didn't work.
My /etc/yp.conf says ypserver <my_server_IP>.
strace output shows that yppasswd consults /etc/hosts and /etc/nsswitch.conf before deciding on 127.0.0.1 for the server.
What am I missing?
Client is running Debian 7.0 (Wheezy) and server is running Debian 6.0.1 (Squeeze)
Note
I'm aware that NIS is nearing total obsolescence and very vulnerable. A migration to LDAP is on my agenda, but I need a solution for this in the interim.
Additional Details
Files on the client:
/etc/hosts
127.0.0.1 localhost
<IP in current DHCP lease> host_name.domain host_name
<server_ip> server_name server_name.domain
/etc/nsswitch.conf
passwd: files nis compat
group: files nis compat
shadow: files nis compat
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis