Alterando as senhas do root usando setuid

1

É possível alterar a senha do root usando o setuid?

O que eu tentei é escrever um programa simples que chama system("passwd root") de propriedade de root e seu bit setuid está definido, mas não funcionou. A saída é: You may not view or modify password information for root.

    
por g3d 06.02.2016 / 18:26

2 respostas

1

No seu programa, você provavelmente esqueceu de fazer o uid real e efetivo definido para o mesmo valor. Os gids também devem corresponder ao gid da raiz. Algo parecido com isto:

setuid(geteuid());
setgid(getegid());

Veja, por exemplo, sue (um simples setuid / wrapper setgid).

    
por 06.02.2016 / 18:30
0

Thomas Dickey está absolutamente certo. No entanto, não faça isso. Use sudo em vez disso.

Crie /etc/sudoers.d/change_root_pass

YOURUSERNAME ALL = (ALL) passwd root

(Mude YOURUSERNAME).

    
por 06.02.2016 / 23:24