Qual é a melhor maneira de configurar diretórios compartilhados do sistema de arquivos? (além do padrão unix perms)

5

Eu tenho vários usuários no meu sistema. Eu gostaria de ter diretórios compartilhados como música, vídeo. O problema é que eu quero que os usuários consigam gravar qualquer arquivo novo em qualquer diretório, mas não possam apagar ou modificar nenhum arquivo que não possuam. Com o padrão unix perms, se você pode adicionar um arquivo a um diretório, você também pode excluir outros. Também gostaria de ter certeza de que todos os arquivos nesses diretórios sejam sempre legíveis pelo grupo de usuários.

Posso fazer isso com POSIX ACL? ou preciso de algo mais avançado como o SELinux (ou outro framework de segurança).

exemplo do que não quero trabalhar.

su - root
mkdir /home/music
chmod 775 /home/music
chgrp users /home/music
su - user1 /home/music
touch /home/music/testfile
ll /home/music/testfile
su - user2
rm /home/music/testfile
ll /home/music
    
por xenoterracide 10.10.2010 / 21:10

1 resposta

9

Se eu entendi corretamente, você quer para seus diretórios de música / vídeo etc. a mesma semântica que para / tmp.

Para isso, você poderia colocar o bit pegajoso nos diretórios. Para citar o chmod man-page:

RESTRICTED DELETION FLAG OR STICKY BIT The restricted deletion flag or sticky bit is a single bit, whose interpretation depends on the file type. For directories, it prevents unprivileged users from removing or renaming a file in the directory unless they own the file or the directory; this is called the restricted deletion flag for the directory, and is commonly found on world-writable directories like /tmp.

    
por 10.10.2010 / 21:38