/ etc / shadow - como poderia ser editado quando é somente leitura

4

Estou tentando alterar o conteúdo do arquivo / etc / shadow, mas percebo que ele é somente leitura

sghk1> ls -l /etc/shadow
-r--------   1 root     sys         4045 Aug 19 16:13 /etc/shadow

a permissão do arquivo / etc / shadow é somente leitura. Nesse caso, como / usr / bin / passwd muda seu conteúdo?

e.g. passwd -x 30 username
    
por Noob 19.08.2015 / 10:38

1 resposta

5

O usuário root em sistemas linux / unix pode gravar em um arquivo mesmo que o sinalizador de gravação não esteja configurado. Portanto, ele pode alterar o conteúdo de /etc/shadow ou qualquer outro arquivo independente de suas permissões.

O utilitário passwd tem o bit setuid definido. Veja com:

ls -la /usr/bin/passwd

Deveria ser assim:

-rwsr-xr-x 1 root root 42824 Sep 13  2012 /usr/bin/passwd

Observe o s na permissão do proprietário do arquivo. Isso indica o bit setuid . Se um usuário normal agora executa o utilitário passwd , ele é executado com a permissão do proprietário do arquivo; neste caso, raiz.

O bit setuid ganha privilégios temporariamente elevados para executar uma tarefa específica, como alterar coisas em arquivos do sistema, por exemplo, /etc/shadow ou /etc/passwd .

O bit setuid deve ser manuseado com cuidado. Esse mecanismo pode ser usado para várias vulnerabilidades, se definido no binário errado. Imagine, o utilitário /bin/bash teria definido o bit setuid; então todo usuário no sistema poderia iniciar um shell de root!

    
por 19.08.2015 / 10:51