smbd (daemon samba) não escuta nas portas 139/445

0

Estou executando uma nova instalação do Ubuntu Server 16.04.1 e tendo problemas com o smbd. service smbd status me diz que o smbd deve estar em execução:

   ● 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).

e isso pode ser verificado por 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

No entanto, netstat -tpln | grep "smbd" não retorna nada e também nmap mostra "fechado" nas portas 139 e 445.

O que eu tentei até agora é ativar essas opções em /etc/samba/smb.conf, mas isso não ajuda:

interfaces = enp2s0
bind interfaces only = true

Eu não sei o que mais eu poderia experimentar ... Alguma idéia?

Atenciosamente,

Michael

    
por Michael Kremser 18.10.2016 / 17:48

1 resposta

0

O que causa esse problema?

Na mesma máquina, o smbd está sendo executado em contêineres LXC. O script que inicia o daemon do Samba - /etc/init.d/smbd - acha que o daemon já está em execução e nega iniciar outra instância, porque não está ciente de que o processo smbd encontrado é executado em um contêiner. Essa é também a razão pela qual o Samba começou na inicialização: neste momento os containers ainda não foram iniciados e não havia nenhum outro processo smbd. O mesmo se aplica a outras tecnologias, como o Docker.

Como resolver o problema?

Como sugerido em [1], a solução é modificar o /etc/init.d/smbd:

if ! start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/smbd -- -D; then

mude para:

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

No Ubuntu 16.04.3, este código pode ser encontrado na linha 40. Ao editar usando o nano, pressione Ctrl + W, digite "start-stop", e pressione enter; isso levará você à linha correta.

[1] link

    
por Michael Kremser 20.08.2017 / 12:04