[Bug 1321369] Re: /etc/init.d/samba starts smbd/nmbd improperly
Robie Basak
1321369 at bugs.launchpad.net
Thu May 29 11:26:53 UTC 2014
I've seen multiple reports involving the "samba", "smbd" and "nmbd"
services, confusion in their behavior for starting, stopping,
restarting, reloading etc, and in interaction between upstart jobs,
init.d scripts and the "service" command.
I think these all have the same root cause, which stems from the "samba"
init.d script having started two daemons in the past, that are now
managed by separate upstart jobs, and users expectations that a single
"samba" restart will suffice. This may be entirely reasonable, but
currently this expectation seems to be broken in certain cases, leading
to these reports.
So I'm marking the other bugs as duplicates as this one.
** Summary changed:
- /etc/init.d/samba starts smbd/nmbd improperly
+ Unexpected interactions between init.d, upstart, "service" and "samba", "smbd" and "nmbd"
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to samba in Ubuntu.
https://bugs.launchpad.net/bugs/1321369
Title:
Unexpected interactions between init.d, upstart, "service" and
"samba", "smbd" and "nmbd"
Status in “samba” package in Ubuntu:
Confirmed
Bug description:
The /etc/init.d/samba script appears to try and start smbd/nmbd
improperly. If a user types "service samba restart" here is the
behavior:
root at cups:~# service samba restart
root at cups:~# echo $?
1
I tried to track down the problem a bit by putting "set -x" on the
init script:
root at cups:~# service samba start
+ /etc/init.d/nmbd start
So the nmbd init script appears to be exiting improperly without any
output. After putting set -x on /etc/init.d/nmbd:
root at cups:~# service samba start
+ /etc/init.d/nmbd start
+ PIDDIR=/var/run/samba
+ NMBDPID=/var/run/samba/nmbd.pid
+ unset TMPDIR
+ test -x /usr/sbin/nmbd
+ . /lib/lsb/init-functions
+ run-parts --lsbsysinit --list /lib/lsb/init-functions.d
+ [ -r /lib/lsb/init-functions.d/20-left-info-blocks ]
+ . /lib/lsb/init-functions.d/20-left-info-blocks
+ [ -r /lib/lsb/init-functions.d/50-ubuntu-logging ]
+ . /lib/lsb/init-functions.d/50-ubuntu-logging
+ LOG_DAEMON_MSG=
+ FANCYTTY=
+ [ -e /etc/lsb-base-logging.sh ]
+ true
+ init_is_upstart
+ [ -x /sbin/initctl ]
+ /bin/grep -q upstart
+ /sbin/initctl version
+ return 0
+ exit 1
Looking at /etc/init.d/nmbd:
24 case $1 in
25 start)
26 if init_is_upstart; then
27 exit 1
28 fi
And if we look at how /etc/init.d/samba start nmbd we can see why it
exits at this point:
16 case $1 in
17 start)
18 /etc/init.d/nmbd start
19 /etc/init.d/smbd start
20 /etc/init.d/samba-ad-dc start
Please note /etc/init.d/smbd also has a similar call to
init_is_upstart.
Here's the behavior of all the init scripts in question when both smbd
and nmbd are stopped initially:
root at cups:~# /etc/init.d/nmbd start; echo $?
1
root at cups:~# /etc/init.d/smbd start; echo $?
1
root at cups:~# /etc/init.d/samba start; echo $?
1
root at cups:~# service nmbd start; echo $?
nmbd start/running, process 32731
0
root at cups:~# service smbd start; echo $?
smbd start/running, process 32741
0
root at cups:~# service smbd stop; echo $?
smbd stop/waiting
0
root at cups:~# service nmbd stop; echo $?
nmbd stop/waiting
0
root at cups:~# service samba start; echo $?
1
Expected behavior:
Calling "/etc/init.d/{smbd,nmbd} start" exits 1 and prints a short
message to stderr explaining that the user should be using "service
{smbd,nmbd} start".
Calling "service samba start" exits 0 and successfully starts smbd and
nmbd.
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: samba 2:4.1.6+dfsg-1ubuntu2.14.04.1
ProcVersionSignature: Ubuntu 3.13.0-24.46-generic 3.13.9
Uname: Linux 3.13.0-24-generic x86_64
ApportVersion: 2.14.1-0ubuntu3
Architecture: amd64
Date: Tue May 20 12:20:34 2014
InstallationDate: Installed on 2014-05-16 (3 days ago)
InstallationMedia: Ubuntu-Server 14.04 LTS "Trusty Tahr" - Release amd64 (20140416.2)
OtherFailedConnect: Yes
ProcEnviron:
TERM=xterm
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=en_US.UTF-8
SHELL=/bin/bash
SambaServerRegression: No
SmbConfIncluded: No
SourcePackage: samba
UpgradeStatus: No upgrade log present (probably fresh install)
modified.conffile..etc.init.d.nmbd: [modified]
modified.conffile..etc.init.d.samba: [modified]
mtime.conffile..etc.init.d.nmbd: 2014-05-20T12:11:20.828235
mtime.conffile..etc.init.d.samba: 2014-05-20T12:11:08.484234
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/samba/+bug/1321369/+subscriptions
More information about the foundations-bugs
mailing list