
Eu sei que existe o sinalizador +i para arquivos e diretórios, mas tenho um problema mais profundo.
Existe uma maneira de evitar que uma pasta seja excluída por um usuário que deve ser capaz de criar/acessar/remover arquivos e pastasDENTROa pasta protegida contra exclusão?
O sudo chattr +i testfolder
sinalizador não ajudará porque um usuário só poderá ler arquivos, mas não poderá criá-los ou excluí-los.
O sudo chattr +a testfolder
sinalizador também não ajudará porque um usuário pode escrever e ler arquivos, mas apenas anexar arquivos de edição e não removê-los.
Preciso de uma solução onde um usuário possa escrever, acessareremove arquivos, mas não consegue excluir a pasta raiz/pai.
Responder1
A exclusão de um diretório depende dos direitos de seu diretório pai e não de seus próprios direitos. Se o usuário tiver permissão de gravação para o pai, o diretório poderá ser excluído, caso contrário, não.
Portanto, se o usuário não precisar ter permissão para criar ou excluir diretórios/arquivos no mesmo nível em que está o diretório a ser protegido, isso deve funcionar:
chmod 755 /the/parent/dir
Se alguns usuários ainda precisarem de permissão para modificar o conteúdo do pai, então o pai deverá pertencer a um grupo cujos membros sejam esses usuários e esse grupo deverá ter permissão de gravação:
addgroup bigguys
chgrp bigguys /the/parent/dir
chmod 775 /the/parent/dir