Como o root consegue gravar no arquivo sudoers com permissões definidas como 440?

Como o root consegue gravar no arquivo sudoers com permissões definidas como 440?

Então, quando olho para as permissões do arquivo /etc/sudoers, é assim

-r--r----- 1 root root 705 Nov  2 19:57 /etc/sudoers

Agora, isso não significaria que não é gravável? Então, como o usuário root consegue escrever nele?

Responder1

O usuário root sempre tem acesso total de gravação a qualquer arquivo, independentemente do seu modo.

Talvez o melhor exemplo seja /etc/shadow, que é o modo 000, mas é claro, modificável pelo root:

[root@centos7 ~]# ls -pl /etc/shadow
----------. 1 root root 1353 Oct 26 07:40 /etc/shadow

Responder2

Conforme declarado nos comentários, a resposta original não era clara.

O proprietário de um arquivo sempre pode alterar as permissões de qualquer arquivo de sua propriedade (enquanto o root pode fazer isso para todos os arquivos existentes).

Se você for um usuário comum, isso depende de como você tenta modificar o arquivo somente leitura:

  • abra o arquivo com vi e altere-o -> você pode escrever as alterações com ":w!"
  • tente #echo "test" >> arquivo somente leitura, há uma permissão negada.

Se você for o usuário root, poderá sobrescrever e alterar qualquer arquivo que desejar, mas o programa vi considerará as permissões somente leitura e solicitará uma confirmação.

O arquivo /etc/sudoers deve sempre ser alterado pelo comando "visudo", que abre o conteúdo do arquivo real em um arquivo temporário e faz algumas verificações antes de salvar as alterações. Como usuário root, as alterações podem ser gravadas apesar das permissões somente leitura.

Responder3

Tente usar visudo em vez de vi

sudo visudo

informação relacionada