3

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
user2354329
  • 670
  • 4
  • 11
Joseph R.
  • 38,849
  • 7
  • 107
  • 143

0 Answers0