O cliente Windows 10 precisa de algumas chamadas adicionais para serem tratadas pelo servidor SMB. Eu não sei se o Samba os suporta. Alguns outros servidores SMB suportam o Windows 10 e o Windows 2016.
Eu tenho uma máquina Windows 10 (última atualização em 2016-10-10) que absolutamente se recusa a acessar um compartilhamento Samba público em um servidor Linux (derivado Debian - Debian), sem pré-inserir credenciais no Windows.
endereço IP: 10.0.0.184
Não em um domínio.
endereço IP: 10.0.0.2
Não em um domínio.
[global]
workgroup = WORKGROUP
server string = %h server
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = share
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
[public]
path = /home/public
available = yes
read only = no
browsable = yes
public = yes
writable = yes
guest ok = yes
A TI deveria ser apenas 100% simples e direta, certo?
O cenário:
Na máquina Windows 10, tento acessar o servidor Samba:
\10.0.0.2
Recebo a seguinte mensagem de erro:
\10.0.0.2 is not accessible. You might not have permission to use this network resource. Contact the administrator of this server to find out if you have access permissions.
A specified login session does not exist. It may already have been terminated.
Bastante falsa e completamente ridícula.
O log do Samba diz:
[2016/10/14 19:10:55.209107, 0] smbd/service.c:995(make_connection_snum)
Can't become connected user!
Portanto, como tive muitas experiências ruins (mais ou menos apenas) com o compartilhamento de arquivos do Windows no passado, abro o Gerenciador de Credenciais no Windows 10. Lá, insiro a seguinte nova entrada em Credenciais do Windows:
Endereço da Internet ou da rede: 10.0.0.2
Nome de usuário: pi
Senha: [a senha correta]
Agora, quando tento acessar o servidor Samba com \ 10.0.0.2, uma janela do Explorer é aberta com a pasta "pública" visível, conforme a especificação do arquivo smb.conf
.
E quando tento abrir o compartilhamento (público), posso abri-lo, salvar e excluir arquivos, etc. (se eu tentar criar uma nova pasta, cinco novas pastas serão criadas em um segundo, mas isso é um problema para outro dia.)
No entanto, isso desafia completamente o objetivo de uma participação pública, já que preciso inserir credenciais válidas no Credential Manager para que funcione. Se as credenciais não estiverem lá, o compartilhamento não só não funcionará, mas o Windows nem mesmo poderá CONECTAR ao servidor.
Alguém tem alguma ideia? Este é apenas um dos vários problemas com o compartilhamento de arquivos no Windows 10, mas talvez se eu conseguir que isso funcione, outros problemas serão resolvidos no processo.
Desde que eu amo me atormentar e desperdiçar horas da minha vida, eu desinstalei e purgou o Samba, reiniciei (sim, eu sei), e reinstalei. Em seguida, removi todos os compartilhamentos do arquivo padrão e adicionei apenas isso:
[share_name]
browseable = yes
path = /home/public
guest ok = yes
read only = no
create mask = 777
Agora, com ou sem as credenciais (desnecessárias) armazenadas no Credential Manager, consigo acessar o servidor Samba, com o mesmo erro:
\10.0.0.2 is not accessible. You might not have permission to use this network resource. Contact the administrator of this server to find out if you have access permissions.
A specified login session does not exist. It may already have been terminated.
Isso é o que o arquivo log.smbd
diz:
[2016/10/14 21:06:27.956914, 0] lib/util_sock.c:605(open_socket_in)
open_socket_in(): socket() call failed: Address family not supported by protocol
[2016/10/14 21:06:27.958765, 0] smbd/server.c:578(smbd_open_one_socket)
smbd_open_once_socket: open_socket_in: Address family not supported by protocol
[2016/10/14 21:06:27.997747, 0] printing/print_cups.c:110(cups_connect)
Unable to connect to CUPS server localhost:631 - Connection refused
[2016/10/14 21:06:28.011317, 0] lib/util_sock.c:605(open_socket_in)
open_socket_in(): socket() call failed: Address family not supported by protocol
[2016/10/14 21:06:28.012127, 0] smbd/server.c:578(smbd_open_one_socket)
smbd_open_once_socket: open_socket_in: Address family not supported by protocol
[2016/10/14 21:06:28.015107, 0] printing/print_cups.c:487(cups_async_callback)
failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
Eu sei que o Samba é usado em muitas organizações empresariais profissionais. Como diabos eles fazem isso funcionar? Esses erros são completamente falsos e além de toda inteligência!
O cliente Windows 10 precisa de algumas chamadas adicionais para serem tratadas pelo servidor SMB. Eu não sei se o Samba os suporta. Alguns outros servidores SMB suportam o Windows 10 e o Windows 2016.
Tags windows-10 samba linux raspbian