O Samba tem uma smb.confopção que faz exatamente o que você deseja: Enumerar compartilhamentos com base no acesso. É chamado access based share enum:
Se esse parâmetro for yespara um serviço, o compartilhamento hospedado pelo serviço estará visível apenas para usuários que tenham acesso de leitura ou gravação ao compartilhamento durante a enumeração de compartilhamento (por exemplo, net view \ sambaserver). Isso tem paralelos para acessar a enumeração baseada, a principal diferença é que apenas as permissões de compartilhamento são avaliadas e os descritores de segurança nos arquivos contidos no compartilhamento não são usados na computação dos direitos de acesso à enumeração.
Padrão: access based share enum = no
Esta opção pode ser configurada na [global]seção, onde definirá o padrão ou localmente em uma seção de compartilhamento, onde substituirá a opção padrão / global.
No entanto, há uma limitação bastante grave : para editar a ACL de permissões de compartilhamento, você precisa se conectar usando o console MMC do Windows. Você também precisa do SeDiskOperatorPrivilege, que infelizmente não pode ser concedido sem ingressar no Samba em um domínio do Active Directory.
As permissões de compartilhamento não são iguais valid userse semelhantes.
$no nome do compartilhamento serão ocultados nos sistemas Windows. O Dolphin parece seguir isso, além de ocultar nomes que começam com., a menos que você ative a exibição de arquivos ocultos (Alt-.). Esta é apenas uma solução alternativa cosmética, não uma solução de segurança. O Nautilus sempre mostra esses nomes. Você pode experimentar permissões se puder controlar isso no compartilhamento (por exemplo,wxsemr).