Sem usar o sudo, de preferência?
permissions
filesystem
Evan
fonte
fonte
Respostas:
Experimentar:
Isso, porém, tornará o arquivo impossível de excluir, mesmo pelo
root
usuário - use com cuidado.fonte
touch test && chattr +i test
isso gera um erro;chattr: Operation not permitted while setting flags on test
. Você precisasudo
disso. Além disso: ainda é possível excluir o arquivo:sudo chattr -i test && rm test
funciona.Não, isso não é possível. Impossível para usuários normais excluir um arquivo: claro.
Você vai precisar
sudo
impedir que os usuários excluam arquivos. Seu administrador sempre poderá excluir um arquivo.sudo chattr +i test
pode impedir a exclusão, mas requersudo
. Um simplessudo chattr -i test
torna possível remover o arquivo. Nenhum outro usuário além do administrador pode usarchattr
.E ... simplesmente reiniciar e entrar no modo de recuperação permitirá que essa pessoa possa excluir esse arquivo. Seria um risco de segurança se houvesse um método para nunca conseguir excluir um arquivo.
fonte
É um pouco grosseiro, mas está próximo - se você remover o acesso de gravação no diretório, os arquivos dentro dele não poderão ser excluídos. E não é necessário
sudo
se você é o proprietário:Assim, você pode definir permissões no arquivo em si, como desejar.
Além disso, como afirma @Rinzwind, há certamente muitas maneiras de contornar isso.
fonte
Para excluir um arquivo, você precisa de permissão de gravação em todos os diretórios aos quais o arquivo está vinculado. Para desvinculá-lo de um diretório, você precisa de permissão de gravação nesse diretório.
Desde que você conceda permissão de gravação (ou até propriedade) ao arquivo, mas não ao diretório ou aos diretórios aos quais o arquivo está vinculado, esse arquivo não poderá ser excluído.
A melhor maneira de conseguir isso seria vincular esse arquivo a um diretório que pertence à raiz e que não pode ser gravado por ninguém. Em vez disso, você poderia torná-lo propriedade de você, o que significaria que você e o root poderiam excluí-lo.
Isso ainda permitirá que outros usuários vinculem esse arquivo a outros diretórios e desvinculem-no a partir de então, mas ainda não poderão excluir o arquivo, pois poderão desvinculá-lo do seu próprio diretório.
Observe que, para que isso funcione completamente, a permissão de gravação de cada componente do caminho no arquivo deve ser controlada. Porque, por exemplo, se o arquivo é
/a/b/the-file
e você/a/b
não pode ser gravado por ninguém, mas todos têm acesso de gravação/a
, eles podem renomear/a/b
para outra coisa, recriar o próprio/a/b
e criar o seu/a/b/the-file
lá.fonte