Nas configurações de compartilhamento em smb.conf
, você precisará especificar os nomes de usuários e / ou grupos que têm permissão para gravar no compartilhamento, usando uma write list = ...
linha.
Exemplo:
[myshare]
...
write list = my_linux_username
Então você precisará usar o smbpasswd
comando para configurar uma senha para se autenticar my_linux_username
no Samba:
sudo smbpasswd -a my_linux_username
Esta etapa é necessária porque as senhas padrão do sistema /etc/shadow
são hash em algoritmos incompatíveis com os algoritmos de hash de senha usados no protocolo SMB. Quando um cliente envia um pacote de autenticação SMB, ele inclui uma senha com hash. Só pode ser comparado a outro hash de senha que usa o mesmo algoritmo.
(Instruções muito antigas do milênio anterior podem recomendar a desativação da criptografia de senha no Samba e o uso de certos hacks de registro para permitir que o Windows emita senhas não criptografadas para a rede. Este conselho é obsoleto : esses hacks de registro podem não funcionar mais nas versões atuais do Windows e permita que qualquer pessoa que possa monitorar o tráfego da rede capture sua senha trivialmente.)
Você pode ter mais uma coisa a fazer no lado do cliente. Quando o seu sistema cliente Windows ingressa em um domínio do Active Directory e você faz logon com uma conta do AD, ele prefixa automaticamente todos os nomes de usuário não qualificados pelo nome do domínio do usuário do AD, ou seja, você estará autenticando AD_DOMAIN\your_username
, e não apenas your_username
.
Se você estiver conectado com uma conta local (ou o sistema do cliente não estiver associado a um domínio do AD), o Windows poderá prefixar automaticamente o nome de usuário com o nome do host do cliente, a menos que você especifique outro nome de domínio.
Para efetuar login com êxito em um servidor Samba independente a partir de um cliente Windows independente, pode ser necessário especificar seu nome de usuário como SAMBA_SERVER_HOSTNAME\your_username
.
Caso contrário, o Samba verá o nome de usuário como WINDOWS_CLIENT_HOSTNAME\your_username
, concluirá que não há como verificar usuários pertencentes ao domínio nomeado WINDOWS_CLIENT_HOSTNAME
e rejeitará o login.
(As versões mais recentes do Samba podem ter uma verificação interna para essa situação específica e podem permitir o acesso, no entanto. Mas é basicamente assim que a autenticação SMB funciona "oculta" e se você precisa lidar com versões antigas do Samba , ainda pode ser útil.)
force user = defaultUser
fez o trabalho para mim.