Tente executar este comando no seu servidor Ubuntu:
sudo -u nobody ls "/path/to/my/share"
Isso tentará acessar sua pasta compartilhada como usuário nobody
. Se você vir um erro como este:
ls: cannot access /path/to/my/share: Permission denied
as suas permissões locais são o problema (ou pelo menos uma parte dele).
O Samba usa as permissões do sistema de arquivos Linux para determinar se deve conceder acesso a arquivos compartilhados; Se as permissões bloquearem o acesso à própria pasta compartilhada, o Samba se recusará a permitir que outras máquinas se conectem ao compartilhamento. O acesso de convidado usa o nobody
user (do grupo nogroup
), portanto, você deve usar as permissões de arquivo 'outros usuários' para garantir que os convidados possam acessar sua pasta compartilhada.
É importante verificar as permissões em todos os diretórios que levam de /
até sua pasta compartilhada também: se um usuário não tiver permissões de execução para um diretório, será impedido de acessar qualquer caminhos abaixo desse ponto, incluindo sua parte. (Eu criei a mensagem de erro ls
acima removendo permissões 'x' de um diretório intermediário.)
Digamos que você queira compartilhar /mnt/external/ntfs-drive/folder
. Você pode adicionar as permissões 'x' em todos os diretórios pai com este comando:
sudo chmod o+x /mnt /mnt/external /mnt/external/ntfs-drive
Você também precisa definir permissões de leitura, gravação e execução para a pasta compartilhada e qualquer conteúdo, mas para permissões de execução de diretórios pai é suficiente.