Problem:
Something like
# ypcat passwd | grep someuser
someuser::301:500:Some User:/home/someuser:/bin/tcsh
# yppasswd user
New Password:
Re-enter new Password:
Permission denied
You might also find something like this in the debug log:
Jul 23 08:45:06 nismaster yppasswdd[162]: [ID 467562 auth.error] yppasswdd: user someuser: does not exist
Solution
You match the following conditions:
- you run your NIS out of a non-standard directory (ie not /var/yp) and have a custom /var/yp/Makefile which fixes NIS to this effect; and
- you have recently run some Solaris patches, probably a Recommended or Recommended+Security patch set.
One of the patches helpfully "fixed" your non-standard /var/yp/Makefile back to the default. Un-fix this and restart yp, and you should be back in business.
Commentary
According to this post
http://www.sunmanagers.org/archives/2000/1205.html Sun has been doing this since at least the year 2000 and OS rev Solaris 7.