As ACLs provavelmente seriam o caminho a seguir como sua pesquisa descobriu.
A maneira mais fácil de lidar com tudo o que você deseja além de bloquear a criação de diretórios seria usar o bit adesivo. Ex: veja as permissões em / tmp e / var / tmp.
Eu quero usar um diretório como uma espécie de ponto de entrega, semelhante à pasta Pública em cada diretório pessoal do Mac OS X, ou seja: certos usuários (ou todos) devem ser capazes de criar novos arquivos dentro desse diretório. , mas nada mais - não há novos subdiretórios, nenhuma modificação ou substituição de arquivos existentes, nenhuma leitura de qualquer tipo, etc.
O sistema em que isso ocorre é o OmniOS / Solaris com o ZFS, compartilhado com o módulo Solaris CIFS como um compartilhamento SMB. Portanto, eu li a documentação no modelo de ACL e após algumas tentativas e erros comecei a trabalhar com apenas
/usr/bin/chmod A+user:alice:-w------------:-------:allow /pool/share/dropbox
Sem herança, os arquivos eliminados só terão o nome de alice
como proprietário, mas como ela não tem permissões nos arquivos individuais, ela não está listada em nenhum outro lugar (por exemplo, via /usr/bin/ls -V .
) .
Embora isso faça o que eu quero, gostaria de saber se essa é a maneira correta de fazer isso ou se devo adicionar outras permissões explicitamente, por exemplo, permissões W
(gravar atributos estendidos) ou A
(alterar registro de data / hora atributos).
Durante o teste, observei que, se alguém quiser também conceder propriedades de leitura ao diretório e aos arquivos, será necessária uma ACE adicional (uma para arquivos apenas com um nível de propagação e outra para o próprio diretório):
A+user:alice:r-x---aAR-c--s:f--n---:allow
A+user:alice:rwx-----------:-------:allow
Agora eu me pergunto - se esses valores de atributos adicionais são necessários para a leitura, eles também não seriam necessários para escrever? Eu perco algo valioso mais tarde, ou isso é mais um "Se você não sabe, você não precisa disso!" coisa?
As ACLs provavelmente seriam o caminho a seguir como sua pesquisa descobriu.
A maneira mais fácil de lidar com tudo o que você deseja além de bloquear a criação de diretórios seria usar o bit adesivo. Ex: veja as permissões em / tmp e / var / tmp.
Tags permissions chmod acl solaris omnios