← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1792400] Re: smbd failed in host when both lxd container and host have smbd

 

This is "just one more" case of the common old init scripts didn't
consider there could be more (=containers).

Interesting is that the stop already runs with the --pidfile so the stop
will not kill it.

But the start will be blocked, as the existance of such a process will
make --start be a no-op.

Man page:
Note: unless --pid or --pidfile are specified, start-stop-daemon behaves similar to killall(1).  start-stop-daemon will scan the process table looking  for  any  processes  which match  the  process  name, parent pid, uid, and/or gid (if specified). Any matching process will prevent --start from starting the daemon. All matching processes will be sent the TERM signal (or the one specified via --signal or --retry) if --stop is specified. For daemons which have long-lived children which need to live through a --stop, you must  specify a pidfile.

-S, --start [--] arguments
Check  for the existence of a specified process.  If such a process exists, start-stop-daemon does nothing, and exits with error status 1 (0 if --oknodo is specified).  If such a process does not exist, it starts an instance, using either the executable specified by --exec or, if specified, by --startas.  Any arguments given after -- on  the command line are passed unmodified to the program being started.


The --oknodo will make it a silent non fatal exit int hat case - as it
is fine to run "start" if it is running already.


I'd recommend "--pidfile $SMBDPID" instead of the suggested path, but otherwise would agree to the fix.

It should be safe as that is essentially how later versions (Bionic) do
it (via MAINPID tracking in systemd).

** Changed in: samba (Ubuntu)
       Status: New => Confirmed

** Tags added: server-next

** Also affects: samba (Ubuntu Xenial)
   Importance: Undecided
       Status: New

** Changed in: samba (Ubuntu Xenial)
       Status: New => Triaged

** Changed in: samba (Ubuntu)
       Status: Confirmed => Fix Released

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1792400

Title:
  smbd failed in host when both lxd container and host have smbd

Status in samba package in Ubuntu:
  Fix Released
Status in samba source package in Xenial:
  Triaged

Bug description:
  Setup: install smbd in host and lxd-container.

  Now restart smbd in host:

  service smbd restart
  All is OK.
  Problem: nmap shows "closed" on ports 139 and 445. And users cannot use smbd server in host.

    ● smbd.service - LSB: start Samba SMB/CIFS daemon (smbd)
     Loaded: loaded (/etc/init.d/smbd; bad; vendor preset: enabled)
     Active: active (exited) since Die 2016-10-18 17:35:23 CEST; 2s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 24218 ExecStop=/etc/init.d/smbd stop (code=exited, status=0/SUCCESS)
    Process: 21980 ExecReload=/etc/init.d/smbd reload (code=exited, status=0/SUCCESS)
    Process: 25190 ExecStart=/etc/init.d/smbd start (code=exited, status=0/SUCCESS)

  Okt 18 17:35:22 speedy systemd[1]: Starting LSB: start Samba SMB/CIFS daemon (smbd)...
  Okt 18 17:35:23 speedy smbd[25190]:  * Starting SMB/CIFS daemon smbd
  Okt 18 17:35:23 speedy smbd[25190]:    ...done.
  Okt 18 17:35:23 speedy systemd[1]: Started LSB: start Samba SMB/CIFS daemon (smbd).

  ps axf | grep smbd:

  25356 pts/2    S+     0:00  |   \_ grep --color=auto smbd
  19915 ?        Ss     0:08      \_ /usr/sbin/smbd -D
  19919 ?        S      0:00          \_ /usr/sbin/smbd -D

  However, netstat -tpln | grep "smbd" returns nothing and also nmap
  shows "closed" on ports 139 and 445.

  Workaround [1]:
  change /etc/init.d/smbd:
   if ! start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/smbd -- -D ; then

  to

   if ! start-stop-daemon --start --quiet --oknodo --pidfile
  /var/run/samba/smbd.pid --exec /usr/sbin/smbd -- -D ; then

  I reported this to:
  https://discuss.linuxcontainers.org/t/samba-in-host-and-container/2523

  apt-cache policy samba
  samba:
    Installed: 2:4.3.11+dfsg-0ubuntu0.16.04.15
    Candidate: 2:4.3.11+dfsg-0ubuntu0.16.04.16
    Version table:
       2:4.3.11+dfsg-0ubuntu0.16.04.16 500
          500 http://de.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
   *** 2:4.3.11+dfsg-0ubuntu0.16.04.15 500
          500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
          100 /var/lib/dpkg/status
       2:4.3.8+dfsg-0ubuntu1 500
          500 http://de.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

  1. https://serverfault.com/questions/810544/samba-daemon-does-not-
  work-as-systemd-service-but-works-in-foreground

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/samba/+bug/1792400/+subscriptions