SUSE Linux Enterprise Server 12
SUSE Linux Enterprise Server 12 Service Pack 1 (SLES 12 SP1)
SUSE Linux Enterprise Server 12 Service Pack 1 (SLES 12 SP2)
SUSE Linux Enterprise Server 12 Service Pack 1 (SLES 12 SP3)
SUSE Linux Enterprise Server 12 Service Pack 1 (SLES 12 SP4)
Symptoms for case 1:
On SLES 12, attempting to start rpcbind through a method that relies on systemd is failing. Such methods include:
rcrpcbind start
service rpcbind start
systemctl start rpcbind
With these commands, rpcbind fails to start, and /var/log/messages will show:
rpcbind[1965]: not netconfig for socket fd 6
Starting rpcbind directly by executing the binary still works (but is not the recommend method):
/sbin/rpcbind -w -f
Symptoms for case 2: On SLES 12, attempting to start rpcbind fails, and /var/log/messages shows:
rpcbind[2095]: cannot get uid of 'rpc': Success
Resolution for case 1:
One of rpc's files, /etc/netconfig, had been modified by an administrator. The effective lines should be:
udp tpi_clts v inet udp - -
tcp tpi_cots_ord v inet tcp - -
udp6 tpi_clts v inet6 udp - -
tcp6 tpi_cots_ord v inet6 tcp - -
rawip tpi_raw - inet - - -
local tpi_cots_ord - loopback - - -
unix tpi_cots_ord - loopback - - -
But in the problem case, the udp6 and tcp6 lines had been remarked. This had not caused any obvious failures on SLES 11, but did on SLES 12. Therefore, after upgrade, the problem manifested.
Then restart the services, for example:
systemctl restart rpcbind
and if needed:
systemctl restart nfsserver
Resolution for case 2:
Rpcbind on SLES 12 will attempt to find (and operate as) a user by the name "rpc". The install of SLES 12 creates this user in /etc/passwd. This user was not present in standard SLES 11 installations. Some administrators have copied the passwd file from older systems (such as SLES 11) to their new SLES 12 boxes, which can effectively get rid of new system defined users. It is unknown if some malfunction during install could also cause the entry to be missing. The only confirmed cause seen by SUSE Support so far is "human intervention."
The entry for the rpc normally should be as follows (and can be manually added to /etc/passwd), although a different UID number can be used if another user with UID 495 is already defined:
rpc:x:495:65534:user for rpcbind:/var/lib/empty:/sbin/nologin
Note: rpc is often used for NFS services, so it may be valuable to note that SLES 12 also creates a special user for the nfs status daemon. The following entry should be present (or added) as well:
statd:x:489:65534:NFS statd daemon:/var/lib/nfs:/sbin/nologin
Then restart the services, for example:
systemctl restart rpcbind
and if needed:
systemctl restart nfsserver
This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.