Restablecer la contraseña del usuario sin root

8

¿Hay alguna forma de permitir que los usuarios no root cambien la contraseña de otro usuario? Específicamente, ¿hay alguna manera de otorgar a los empleados de la mesa de ayuda la capacidad de restablecer contraseñas? La mesa de ayuda ya puede restablecer las contraseñas de Windows, lo cual es fácil de delegar.

Estos están en una variedad de tipos de servidores, aunque la mayoría en HP-UX. Desafortunadamente, las aplicaciones que se ejecutan en el servidor nos impiden usar LDAP, por lo que estos servidores son independientes y los usuarios olvidan sus contraseñas. A menudo. Requerir un administrador del servidor que conozca la contraseña de root, especialmente en medio de la noche, es un desperdicio de recursos.

Si es posible, ¿también evita que el usuario cambie la raíz, como Windows evita que los usuarios cambien las contraseñas de administrador de cuentas que no son de administrador?

Brian
fuente

Respuestas:

8

Agregue un grupo llamado helpdesk y agregue todos los usuarios de heldesk. Luego agregue lo siguiente al archivo sudoers.

%helpdesk ALL=/usr/bin/passwd

Ahora pueden sudo cambiar las contraseñas pero nada más.

Jim
fuente
1

Dado que se dice que HP-UX es compatible con PAM , me atrevo a mencionar el siguiente enfoque tentativo y limpio para resolver este problema aquí:

use pam_tcb (tcb - la alternativa a / etc / shadow) , y habrá archivos de contraseña de usuario por usuario - pueden manipularse sin los derechos de root (de hecho, en Owl, passwd no está configurado como root de UID), y usted puede dar permiso para modificar las contraseñas de ciertos usuarios (y no de otros, por ejemplo, "root") a un grupo específico (simplemente modificando los permisos de los archivos shadow).

Pero aún no es una solución práctica, probablemente porque no veo un puerto pam_tcbpara HP-UX.

imz - Ivan Zakharyaschev
fuente
-1

Actualización: No importa, passwd ya es root setuid. Ups

Puede dar el atributo setuid al programa passwd. Solo haz

sudo chmod u+s `which passwd`

Luego, asegúrese de que solo ciertos usuarios puedan usarlo, así que cambie el grupo y restrinja los permisos:

sudo chgrp password_reset_delegates `which passwd`
sudo chmod 770 `which passwd`

Y agregue sus usuarios a ese grupo

sudo adduser frank password_reset_delegates
sudo adduser barbara password_reset_delegates

Es posible que desee hacer una copia del programa passwd sin el setuid para que otros usuarios puedan cambiar su propia contraseña.

Alternativamente, puede configurar sudo y permitir el acceso a sudo solo al programa passwd para los usuarios del servicio de asistencia.

James
fuente
El uso del método de acceso sudo también creará una buena pista de auditoría para su revisión si es necesario. Podrá ver quién está haciendo qué para qué usuarios.
mcmeel
Sudo es el camino que seguiría, pero alguien ya lo publicó, y pensé que presentaría opciones.
James
Idea potencialmente inteligente, excepto por el hecho de que passwdya ejecuta suid root ya que necesita escribir en las bases de datos de contraseñas del sistema.
MikeyB
jaja, oops, tienes razón.
James
Considere eliminar su respuesta si está mal;).
Bart De Vos