Como o usuário root pode criar um arquivo / diretório que não pode ser gravado?

8

Usuários normais podem chmodarquivos para torná-los inacessíveis como

evgeniy@ubuntu:~$ touch test
evgeniy@ubuntu:~$ chmod 444 test
evgeniy@ubuntu:~$ echo 'test' > test
bash: test: Permission denied

Algo assim pode ser simulado para o usuário root?

dolzenko
fonte
Espero que não, ou tenho certeza de fazê-lo.
Mark Allen
Vá em frente e verificar a resposta de @ danlefree;)
dolzenko

Respostas:

13

chattr +i *impedirá que mesmo a conta raiz faça alterações nos arquivos no diretório (até que chattr -i *seja executada).

Pelos comentários de Slartibartfast, algumas coisas que você deve saber sobre o chattr e o atributo imutável:

  1. O bit imutável impedirá que um arquivo seja excluído, renomeado, vinculado ou gravado; use lsattrpara exibir atributos da mesma maneira que lsexibe propriedade e permissões
  2. Você pode impedir que o bit imutável seja desabilitado (mesmo pela raiz) alterando o CAP_LINUX_IMMUTABLEsinalizador - para isso, instale a libcap , mas é apenas um aviso justo de que os recursos estão mal documentados (na melhor das hipóteses)
danlefree
fonte
Vale mencionar, com o objetivo de ajudar as pessoas a encontrarem essa resposta, que o chattr + i torna o arquivo imutável.
Slartibartfast
5

O SELinux pode ser usado para marcar um arquivo como não gravável por raiz no domínio atual e na função do usuário.

Ignacio Vazquez-Abrams
fonte
Dar um exemplo seria ótimo
Jonathan