Por que o root ainda pode editar arquivos com uma permissão de 0?

1

Eu só queria excluir a maioria dos arquivos de um HD externo, exceto alguns determinados. Então eu chmod destes para 0 e fiz um sudo rm -r ./* . Dolorosamente, o resultado foi que tudo foi deletado.

Por que isso acontece? ROOT não tinha permissão para tocá-los, mas de qualquer maneira. Estou confuso agora.

    
por Richard Nixon 04.08.2012 / 22:55

2 respostas

0

O comando chmod usa 4 dígitos representados como Usuário-Proprietário-Outros-Outros , este último é outro usuário que não está no grupo do arquivo. Cada uma delas pode ter 4 (leitura) 2 (escrita) ou 1 (executar) , portanto chmod 0 file não faz nada.
Se você inserir man chmod , poderá ver como funciona com os números .

INFO ADICIONADO POR @ Richard Nixon -
 Você não pode remover permissões para a ROOT, mas o que você pode fazer é proteger um arquivo de ROOT , assim, qualquer ação sobre isso estará em vão. Como:
Ativado - > sudo chattr +i file
Desativado - > sudo chattr -i file

Se você ler o arquivo /etc/passwd , verá que o ROOT tem um UID de 0. Se um usuário tiver mais UID, menos permissão (acesso a arquivos críticos, programas e mais) terá. Você pode alterar o UID de um usuário aumentando ou diminuindo suas permissões. Então, dessa forma, você poderia alterar as permissões de outro usuário para ROOT. Como:
Edite o arquivo /etc/passwd com sudo vipw -s e equalize as permissões do usuário com o ROOT (punho na lista).

Mais informações sobre o arquivo passwd aqui e para o tipo de comando vipw man vipw .

    
por Lucio 04.08.2012 / 23:28
0

Quando executado como root, uma pessoa ou programa pode fazer qualquer coisa no computador - restrições normais não se aplicam. Essa é a razão pela qual você deve ter muito cuidado ao emitir um comando sudo .

    
por John S Gruber 05.08.2012 / 02:48