Não sei por que, mas a resposta do @techraf não funcionou (embora, de acordo com a documentação, deva), mas encontrei outra solução e funcionou. Eu adicionei
access based share enum = true
para /etc/samba/smb.conf
file.
Meu sistema Linux tem dois usuários, e eu configurei o samba nele, então alguns diretórios compartilhados são acessíveis por ambos os usos, e alguns são acessíveis por um deles.
O problema é quando eu acesso o computador a partir de clientes Windows e autentico usando o segundo usuário (com menos permissão), as pastas que não são acessíveis são mostradas (embora não sejam navegáveis), como posso ocultar essas pastas? usuário?
Aqui está uma parte do arquivo /etc/samba/smb.conf :
[anonymous]
path = /repo/samba/anonymous
writeable = yes
browseable = yes
valid users = user1, user2
[archive]
path = /repo/samba/archive
writeable = no
browseable = yes
valid users = user1, user2
[user1]
path = /repo/samba/user1
writeable = yes
browseable = yes
valid users = user1
[user1-ro]
path = /repo/samba/user1-ro
writeable = no
browseable = yes
valid users = user1
Quando o user2 tenta acessar o servidor, eles também vêem as pastas user1 e user1-ro , e eu quero esconder esses dois para eles.
Eu devo mencionar que o sistema linux roda Ubuntu-MATE 16.04 .
Não sei por que, mas a resposta do @techraf não funcionou (embora, de acordo com a documentação, deva), mas encontrei outra solução e funcionou. Eu adicionei
access based share enum = true
para /etc/samba/smb.conf
file.
Adicionar:
hide unreadable = yes
para as definições de compartilhamento na sua configuração.
Isso é chamado de "enumeração baseada em acesso" no vernáculo SMB.