Estoy tratando de configurar la política de contraseña de los usuarios en RHEL 6.6 y quiero que el sistema solicite a los usuarios recién creados que cambien la contraseña inicial en el primer inicio de sesión.
Tenga en cuenta que intenté establecer la variable EXPIRE en 0 e INACTIVO en -1 en / etc / default / useradd, pero esto conduce a la caducidad de la nueva cuenta de usuario después de la creación. La salida del comando chage después de la creación del usuario con estas variables es:
# chage -l foo
Last password change : Feb 22, 2015
Password expires : May 23, 2015
Password inactive : never
Account expires : Feb 22, 2015
Minimum number of days between password change : 1
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
Cuando intento iniciar sesión con el usuario foo, aparece el mensaje "Su cuenta ha caducado. Póngase en contacto con el administrador del sistema".
Pero si abro la ventana 'Propiedades de usuario', selecciono la pestaña 'Información de contraseña' y verifico 'Forzar cambio de contraseña en el próximo inicio de sesión', el resultado será lo que espero. Se le pedirá al nuevo usuario que cambie la contraseña. La salida del comando chage en este caso será:
# chage -l foo2
Last password change : password must be changed
Password expires : password must be changed
Password inactive : password must be changed
Account expires : never
Minimum number of days between password change : 1
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
Cuando inicio sesión con el usuario foo2, el sistema me pide que cambie la contraseña.
Entonces, ¿hay alguna forma de configurar el sistema para establecer parámetros de cuenta de usuario en la creación como en el segundo caso?
Upd
cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=0
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
Incluso si comento INACTIVO o lo configuro en valor positivo, la cuenta ha caducado, pero no es una contraseña.
Además, configuré PAM en la máquina.
Upd 2
Verifiqué esto en la máquina con RHEL 6.2 y sin configuración PAM. El efecto es el mismo.
fuente
chage -d 0 {user-name}
.EXPIRE=0
en/etc/default/useradd
debe hacer el trabajo. Leí que lo intentaste. ¿Puedes agregar las líneas no comentadas de/etc/default/useradd
? ¿Está bloqueado incluso si no especifica INACTIVO = -1, sino un valor diferente, o si comenta esa línea? ¿Puede especificar si las cuentas están bloqueadas incluso cuando se crean por línea de comando? Y, por favor, cuando tenga una pregunta diferente, publíquela en una página separada si tendrá una respuesta diferente.adduser
permite poner elchage
comando/usr/local/sbin/adduser.local
. También puede establecer el campo de edad en / etc / shadow a 0 directamente.useradd
es la "utilidad de bajo nivel" destinada a ser utilizada junto con otros comandos.Respuestas:
Como está preguntando acerca de RHEL6, miré el código fuente de useradd (que se entrega como parte del paquete 'shadow'). En useradd.c es una función llamada new_spent donde configura una nueva entrada de contraseña oculta. Allí aborda el problema de "contraseña caducada en la creación" de esta manera:
Soooo ... Si establece un cero, lo convierte en un -1.
Los autores del programa se han codificado específicamente para establecer el envejecimiento en 0, por lo que no importará si lo configura en 0 en el parámetro / etc / default / useradd para EXPIRE. (Si fuera yo quien hiciera ese código, habría buscado ver si el usuario estaba configurando la contraseña en el comando y luego permitía la caducidad, pero no era yo ...)
Además, se sugirió anteriormente que podría colocar un script en /usr/local/sbin/adduser.local para hacer un comando 'chage'. Este fue un buen consejo para un sistema Debian / Ubuntu donde useradd es un script perl que de hecho ejecuta ese archivo si lo encuentra, pero en RHEL el comando useradd es un binario en C.
Si yo fuera usted y estuviera decidido a obtener ese comportamiento en el RHEL6 useradd, obtendría el SRPM para el paquete shadow, comentaría las líneas anteriores y haría un rpmbuild en el paquete y rockaway. ¡Victorioso!
fuente
¿Por qué no agregar esto a un script?
Si todo lo que buscas es el primer inicio de sesión, esto funcionará. ¿La
-e
contraseña de la cuenta caduca inmediatamente, por lo que el próximo inicio de sesión el usuario se ve obligado a actualizar su contraseña? (verman passwd
)fuente
Automático:
Fuente: GeekRide
Ahora, editar ese archivo en la terminal fue difícil. Así que cambié los permisos del archivo a 777 usando:
y lo editó en grub.
(Gracias al comando Linux) .
Comprobado en mi Ubuntu 12.04.5 VM.
Manual:
Fuente: nixCraft
Puro copiar y pegar. Literalmente. ;)
Comprobado en mi Ubuntu 12.04.5 VM.
fuente
chmod -R 777 /
es algo muy estúpido!