I upgraded to Fedora 16 as a fresh install. Since then I can't get nmbd to start automatically. I can get smb to start just fine using the new systemctl enable smb.service command, but the nmb.service won't start on boot.
At first it was an SELinux problem becuase I saw nmbd SELinux AVC Denial messages, but I put the entire system into permissive from boot and nmbd still won't start. (The AVC errors dealt with dac_override.) Interesting after the system is up, I can do a systemctl start nmb.service and it starts just fine. The first attempt to start nmbd durring boot time produced the following error from systemctl:
nmb.service - Samba NMB Daemon
Loaded: loaded (/lib/systemd/system/nmb.service; enabled)
Active: failed since Thu, 01 Dec 2011 13:31:11 -0600; 25min ago
Process: 1016 ExecStart=/usr/sbin/nmbd $NMBDOPTIONS (code=exited, status=0/SUCCESS)
Main PID: 1026 (code=exited, status=1/FAILURE)
However, when I do "systemctl start nmb.service" manually as root, the service starts but generates the following error in syslog:
systemd: PID 1026 read from file /run/nmbd.pid does not exist. Your service or init script might be broken.
Using syslog as my next hint I looked up the permissions of /run/nmbd.pid along with the nmbd service:
-rw-r--r--. root root system_u:object_r:nmbd_var_run_t:s0 /run/nmbd.pid
-rwxr-xr-x. root root system_u:object_r:nmbd_exec_t:s0 /usr/sbin/nmbd
The SELinux context type is different and that may be why I was orginally getting the dac_override AVC errors. I am sure I will have to solve for that problem as soon soon as I can fix this one. For the moment, I have the entire system in permissive mode through the /etc/ selinux/config file so that it starts that way from boot.
The end state I would like is to be able to boot, start nmbd, and have SELinux enabled but I think I need to tackle the them one at a time.
Many thanks in advance.