[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