Alteração de permissão do usuário da senha do Linux

Alteração de permissão do usuário da senha do Linux

Quando eu olho

usr/bin/

diretório, vi a linha de comando com passwd

-rwsr-xr-x. 1 root root 30768 2012-02-22 20:48 /usr/bin/passwd

e permite alterar para obter autoridade do root. com S.

Fiquei surpreso que apenas o root possa alterar a senha do outro usuário com

passwd   user

Quero encontrar a localização deste comando e procurá-lo.

este comando também faz parte do diretório usr/bin/? ou é outra coisa

o que eu quero fazer é.

eu faço login

user1

e digite

[user1] passwd user2

é claro que está bloqueado de alguma forma. mas quero saber mais sobre isso.

Responder1

Unix (e Linux) tem o conceito derealusuário eeficazdo utilizador. Um programa setuid como /usr/bin/passwddefinirá o usuário efetivo como o proprietário do arquivo; neste caso, ele define o usuário efetivo como root.

Agora, o que um programa faz com essas permissões elevadas depende do próprio programa.

No caso do passwdprograma, se você passar um nome de usuário ele verificará se orealo usuário é root; se for, então será bem-sucedido, caso contrário, retornará um erro.

Assim, o rootusuário pode executar /usr/bin/password user2e isso funcionará, mas se userexecutar o mesmo comando, ele falhará. Existe apenas um programa, mas a forma como ele funciona muda dependendo do usuário que o executa.

Responder2

O passwdbinário é suid porque precisa de permissão de root para modificar o /etc/shadowarquivo. Não permitirá que um usuário sem privilégios modifique a senha de um usuário diferente. Permitirá rootmodificar a senha de qualquer usuário, mas não é por isso que é suid.

informação relacionada