it-swarm-es.com

Haga que la raíz sea la única capaz de cambiar las contraseñas de todos los demás usuarios

Por motivos de seguridad, solo quiero que la raíz cambie las contraseñas de todos los demás usuarios. Esto se logrará si configuro/usr/bin/passwd en 700. Ahora, si el envejecimiento de la contraseña está habilitado o el primer inicio de sesión está habilitado, cuando un usuario inicia sesión con una contraseña exitosa o caducada, se le solicita que elija una nueva contraseña, que Quiero deshabilitar.

SALIDA:

login as: test
Using keyboard-interactive authentication.
Password:
Using keyboard-interactive authentication.
Password change requested. Choose a new password.
Enter current password:

Outout esperado:

login as: test
Using keyboard-interactive authentication.
Password:
Using keyboard-interactive authentication.
Your password has expired. Please contact root to change your password.

Quiero trabajar para lograr esto.

7
Krithik

Hay una opción para eso:

passwd -n MIN <login-name>

no permitirá cambiar la contraseña durante MIN días.

Del hombre passwd

 -n, --mindays MIN_DAYS
       Set the minimum number of days between password changes to MIN_DAYS. A
       value of zero for this field indicates that the user may change his/her
       password at any time.

Póngalo en 9999 y estará listo para 27 años.


Aunque no está documentado, parece que -1 también funciona como un valor. Como este es a menudo un método para deshabilitar algo permanentemente, supongo que hará lo mismo aquí. Ejemplo usando -1:

~$ Sudo passwd -n -1 rinzwind
passwd: password expiry information changed.
~$ passwd rinzwind
Changing password for rinzwind.
(current) UNIX password: 
Enter new UNIX password: 
Retype new UNIX password: 
Password unchanged
Enter new UNIX password: 
Retype new UNIX password: 
Password unchanged
Enter new UNIX password: 

La contraseña se solicita pero nunca se cambia.

Por motivos de seguridad, solo quiero que la raíz cambie las contraseñas de todos los demás usuarios.

Decidir cuáles son las contraseñas creará un riesgo de seguridad. Supongamos que elige una contraseña aleatoria con números, letras, al menos un carácter especial, tal vez una mayúscula. Como Gsi ^ 771H. Esas contraseñas son muy, muy difíciles de recordar y sus usuarios las escribirán. En un papel, en un archivo de texto o peor aún, y guárdelos en Gmail como concepto.

Las mejores contraseñas son oraciones que un usuario puede recordar y pueden ser muy largas. Una contraseña como "lastyeariwenttolondonformyholiday" es muy superior a cualquier cosa que pueda imponer aunque carezca de números, letras mayúsculas o caracteres especiales. Ese usuario lo recordará ya que está relacionado con algo que hizo y será muy difícil aplicar la fuerza bruta. Lo único que tiene que hacer es visitar Londres para sus vacaciones cada año a partir de ahora;)

Eduque a sus usuarios y permítales elegir su propia contraseña. Si necesita asegurarse de que su contraseña sea buena, explíqueles que desea establecerla junto con ellos. Sin embargo, puede crear reglas sobre la contraseña: si establece una regla de que la contraseña debe tener 15 caracteres y les dice que este es el caso, entonces eligen una oración en lugar de letras aleatorias que entenderán y con suerte aceptarán.

O ...

enter image description here

17
Rinzwind

Podrías usar PAM . En el archivo /etc/pam.d/common-password:

password optional pam_echo.so Only root can change passwords...
password sufficient pam_rootok
password required pam_deny.so

Cuando ejecuta el comando passwd:

[email protected]:~$ passwd
Only root can change passwords...
Changing password for user.
(current) UNIX password: 
passwd: Authentication token manipulation error
passwd: password unchanged
0
Jose Raul Barreras