Eu tenho um compartilhamento Samba contendo muitas pastas como esta:
share
- folderA
- folderB
- folderC
- folderD
Existem cerca de 20 usuários acessando esses compartilhamentos. Todo usuário pode ter acesso individual a alguns dos diretórios, por exemplo, Ben pode acessar a pasta A e a pasta C, mas não a pasta B e a pasta D. Jenny pode acessar as pastas B e C, e assim por diante.
Não quero que os usuários montem cada pasta de que precisam. Eu quero que eles montem a pasta "share" que contém todas as subpastas. O acesso é limitado, definindo as permissões linux.
Criei um grupo para cada subdiretório e adicionei os usuários a esses grupos. O controle de acesso funciona perfeitamente para arquivos existentes. Mas sempre que um usuário cria um arquivo em um subdiretório, é negado a todos os outros usuários com permissão para acesso de leitura / gravação nesse diretório. Para resolver isso, brinquei com o mascaramento do samba, mas não consigo fazê-lo funcionar.
Meu conf Samba é assim:
guest ok = no
[global]
workgroup = WORKGROUP
security = user
encrypt passwords = yes
[Share]
path = /var/samba
valid users = @everybody
read only = no
writeable = yes
[folderA]
path = /var/samba/folderA
valid users = @users_folderA
read only = no
writeable = yes
create mask = 770
directory mask = 770
force directory mode = 770
force group = users_folderA
[folderB]
path = /var/samba/folderB
valid users = @users_folderB
read only = no
writeable = yes
create mask = 770
directory mask = 770
force directory mode = 770
force group = users_folderB
[folderC]
path = /var/samba/folderC
valid users = @users_folderC
read only = no
writeable = yes
create mask = 770
directory mask = 770
force directory mode = 770
force group = users_folderC
[folderD]
path = /var/samba/folderD
valid users = @users_folderD
read only = no
writeable = yes
create mask = 770
directory mask = 770
force directory mode = 770
force group = users_folderD
Então, obviamente, todo usuário está no grupo de todos, para que eles possam montar o compartilhamento com os subdiretórios. O acesso para cada subdiretório está funcionando perfeitamente. Mas sempre que Ben cria um arquivo na pasta C, o arquivo obtém as permissões de arquivo -rwxr - r--, mas deve ser -rwxrwx ---
Acho que os compartilhamentos para as pastas individuais não funcionam porque tentei definir gravável = não e somente leitura = sim para testá-lo. Reinicie o smbd e o nmbd e remonte o compartilhamento de rede (no Windows 10). Os usuários foram capazes de criar arquivos e modificar seus próprios.
Isso é executado em um raspberry pi com raspbian. O disco rígido com os arquivos é formatado como ext4 e montado via fstab.
force create mode = 770
instrução nafolderC
seção de sua configuração.Respostas:
Experimente esta configuração (para seções de compartilhamento):
Não se esqueça de verificar a configuração e reiniciar o samba:
Defina permissões:
Dessa forma, o acesso direto às pastas internas não é permitido. Além disso, eles não são visíveis e só podem ser acessados através da pasta pai.
fonte