Usamos o ubuntu linux em desktops com autenticação ldap. Tanto no servidor quanto nos clientes, temos usuários e grupos idênticos.
Eu configurei o servidor nfs com compartilhamento público, que deve estar disponível para todos os usuários com permissões de gravação. Por exemplo, um arquivo criado pelo usuário, outro pode remover esse arquivo por padrão.
Eu tenho os seguintes requisitos:
- Eu não quero alterar umask padrão (0022) nas máquinas dos clientes.
- Eu não quero usar o inotify para permissões de alteração quando os arquivos são alterados no servidor, porque ele diminui o acesso à rede com um compartilhamento nfs e não funciona estável.
Como reproduzir:
Eu crio uma pasta inicial com acl padrão com as seguintes permissões para a pasta diretório de propriedade do grupo inoffice
$ setfacl -m default:g:inoffice:rwx directory/
$ setfacl -m g:inoffice:rwx directory/
$ getfacl directory/
# file: directory/
# owner: root
# group: root
user::rwx
group::r-x
group:inoffice:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:inoffice:rwx
default:mask::rwx
default:other::r-x
Em teoria:
1. Esse diretório deve ser gravável para usuários no grupo inoffice .
2. Todos os novos arquivos e diretórios herdam group:inoffice:rwx
permissions
Suponha que tenhamos dois usuários (clientes):
user1 with primary group __USERS__ and supplementary group inoffice
user2 with primary group __USERS__ and supplementary group inoffice
Suponha que user1 entrou na pasta nfs directory em sua própria máquina e criou uma pasta chamada 'folder_user1'
getfacl folder_user1
# file: folder_user1
# owner: user1
# group: user1_group
user::rwx
group::r-x
group:inoffice:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:inoffice:rwx
default:mask::rwx
default:other::r-x
Em seguida, o usuário2 pode excluir essa pasta devido a default:group:inoffice:rwx
permissions
Mas se o diretório de cópias user1 (em vez de criar) for directory . As permissões resultantes serão:
$ getfacl folder_copied_by_user1
# file: folder_copied_by_user1
# owner: user1
# group: user1_group
user::rwx
group::r-x
group:inoffice:rwx #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:inoffice:rwx
default:mask::rwx
default:other::r-x
Eu sei sobre a diferença nas chamadas de método abertas quando copiamos e criamos arquivos no linux.
Eu também sei sobre o umask, que é aplicado após a criação da operação do arquivo.
Não consigo encontrar uma solução para compartilhar arquivos na rede com o protocolo nfs no meu caso.
Ajude-me a encontrar uma solução alternativa.