Impedir a exclusão da pasta, mas permitir o acesso a tudo dentro dela

Impedir a exclusão da pasta, mas permitir o acesso a tudo dentro dela

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 testfoldersinalizador não ajudará porque um usuário só poderá ler arquivos, mas não poderá criá-los ou excluí-los.

O sudo chattr +a testfoldersinalizador 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

informação relacionada