Cambio de permiso de usuario de contraseña de Linux

Cambio de permiso de usuario de contraseña de Linux

cuando miro

usr/bin/

directorio, vi la línea de comando con passwd

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

y permite cambiar para obtener la autoridad de root. con s.

Me preguntaba si sólo el root podría cambiar la contraseña del otro usuario con

passwd   user

Quiero encontrar la ubicación de este comando y buscarlo.

¿Este comando también forma parte del directorio usr/bin/? o es algo más

lo que quiero hacer es.

me conecto

user1

y escribe

[user1] passwd user2

Por supuesto, está bloqueado de alguna manera. pero quiero saber más al respecto.

Respuesta1

Unix (y Linux) tiene el concepto derealusuario yeficazusuario. Un programa setuid como el que /usr/bin/passwdestablecerá el usuario efectivo como propietario del archivo; en este caso establece el usuario efectivo en root.

Ahora bien, lo que haga un programa con estos permisos elevados depende del programa mismo.

En el caso del passwdprograma, si pasa un nombre de usuario, comprobará si elrealel usuario es root; Si es así, tiene éxito; de lo contrario, devuelve un error.

Entonces el rootusuario puede ejecutar /usr/bin/password user2y esto funcionará, pero si userejecuta el mismo comando, falla. Sólo existe un programa, pero la forma en que funciona cambia según el usuario que lo ejecuta.

Respuesta2

El passwdbinario es suid porque necesita permiso de root para modificar el /etc/shadowarchivo. No permitirá que un usuario sin privilegios modifique la contraseña de un usuario diferente. Permitirá rootmodificar la contraseña de cualquier usuario, pero no por eso es suid.

información relacionada