Eu tenho um caminho em uma máquina Linux (Debian 8) que desejo compartilhar com o Samba 4 nos computadores Windows (Win7 e 8 em um domínio). No meu smb.conf
eu fiz o seguinte:
[myshare]
path = /path/to/share
writeable = yes
browseable = yes
guest ok = yes
public = yes
Eu tenho acesso de leitura perfeito do Windows. Mas, para ter acesso de gravação, preciso fazer chmod -R 777 /path/to/share
para poder escrever nele no Windows.
O que eu quero é o acesso de gravação do Windows depois de fornecer as credenciais do Linux do proprietário do Linux /path/to/share
.
Eu já tentei:
[myshare]
path = /path/to/share
writeable = yes
browseable = yes
Em seguida, o Windows pede credenciais, mas não importa o que eu digite, é sempre negado.
Qual é a maneira correta de obter acesso de gravação aos compartilhamentos Samba de um computador com domínio do Windows sem conceder 777?
fonte
force user = defaultUser
fez o trabalho para mim.smb.conf
. Google e até mesmo sambas documentação disse que o arquivo deve estar no/usr/local/samba/lib
mas na verdade é em/etc/samba
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 umawrite list = ...
linha.Exemplo:
Então você precisará usar o
smbpasswd
comando para configurar uma senha para se autenticarmy_linux_username
no Samba: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 apenasyour_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 nomeadoWINDOWS_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.)
fonte
Eu estava procurando por isso, porque estava com pressa e nem tive tempo de me concentrar na criação de usuários e por isso ...
Apenas tive que extrair os dados de uma máquina debian 9 o mais rápido possível e esta foi a maneira mais rápida que pensei, se você quiser evitar pular comandos, você também pode fazer isso, mas obviamente isso não é recomendado, a menos que você esteja em um se apresse .
fonte