Questão Samba: compartilhamentos de samba idênticos no Linux, agindo de forma diferente


Servidor 1: 10.0.0.10

smb.conf:

[global]
workgroup = WORKGROUP

Server string = %h server (Samba, Ubuntu)

dns proxy = no

log file = /var/log/samba/log.%m

max log size = 1000

syslog = 0

panic action = /usr/share/samba/panic-action %d

server role = standalone server

passdb backend = tdbsam

obey pam restrictions = yes

unix password sync = yes

passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:*     %n\n *password\supdated\ssuccessfully* .

pam password change = yes

map to guest = bad user

usershare allow guests = yes

[public]
   comment = Public share
   path = /mnt/public
   browsable = yes
   read only = no
   guest ok = yes
   force user = nobody
   create mask = 0777
   directory mask = 0777

[apps]
   path = /mnt/torrents/apps
   writable = yes
   browseable = yes
   public = yes
   create mask = 0644
   directory mask = 0755
   force user = shareuser

Isso funciona como esperado. De um cliente do windows 7, posso acessar o (s) compartilhamento (s) com \ 10.0.0.10 \ public

Servidor 2: 10.0.0.4

smb.conf:

[global]
workgroup = WORKGROUP

Server string = %h server (Samba, Raspbian)

dns proxy = no

log file = /var/log/samba/log.%m

max log size = 1000

syslog = 0

panic action = /usr/share/samba/panic-action %d

server role = standalone server

passdb backend = tdbsam

obey pam restrictions = yes

unix password sync = yes

passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:*     %n\n *password\supdated\ssuccessfully* .

pam password change = yes

map to guest = bad user

usershare allow guests = yes

[public]
   comment = Public share
   path = /mnt/public
   browsable = yes
   read only = no
   guest ok = yes
   force user = nobody
   create mask = 0777
   directory mask = 0777

Neste servidor, o compartilhamento não está acessível no mesmo cliente Windows. \ 10.0.0.4 \ resultados públicos em

"O Windows não pode acessar \ 10.0.0.4 \ public ... Código de erro: 0x80070035 O caminho de rede não foi encontrado.

Minha pergunta: Como na terra isso é remotamente possível? Os compartilhamentos do Samba são 100% idênticos e os dois servidores estão conectados ao mesmo switch / roteador e, de outra forma, são identicamente acessíveis em toda a LAN. SSH e FTP, por exemplo, funcionam bem para o 10.0.0.4. Mas por algum motivo incompreensível, o Windows não pode acessá-lo. Não há absolutamente nenhum firewall em qualquer um dos servidores, e eles são tão bajulados quanto eles podem obter.

Eu tenho batido minha cabeça contra o Samba antes, e eu meio que odeio isso com uma vingança. Mas algumas coisas são ainda mais estúpidas e incompreensíveis do que outras, e isso parece uma delas.


3


origem


Esse erro é gerado se, por acaso, você estiver tentando compartilhar um arquivo em vez de uma pasta. Eu cometi esse erro e bati com a cabeça por algum tempo, até encarar a realidade crua ;-) - Daniel J.
verifique os direitos de / mnt / public - jet


Respostas:


Como afirmado em um comentário de @DanielJ, você pode verificar se é um arquivo ou pasta, por exemplo, executando cd /mnt/public/ e vendo se você pousa em um diretório ou não.

Em seguida, verifique as permissões do arquivo, executando ls -lah /mnt/. Se você puder postar essa saída, podemos determinar se o Samba seria capaz de trabalhar essa pasta ou não. (Edite sua pergunta para mostrar a saída)

Estranhamente, você tem um usuário chamado public? Verifique em seu tdbsam (executar pdbedit -L public) e /etc/passwd arquivo (executar grep public /etc/passwd). Se o usuário existir, ele poderá tentar encontrar uma pasta base para esse usuário antes de verificar as outras defintões de compartilhamento.

Além disso, ao trabalhar com o Samba, acostume-se a executar testparm e testparm -s. A primeira verifica a sintaxe de todos os comandos e compartilha definições, enquanto a segunda mostra que e despeja a configuração atual que está usando.


1