J'essaie de configurer la politique de mot de passe des utilisateurs sur RHEL 6.6 et je veux que le système demande aux utilisateurs nouvellement créés de changer le mot de passe initial lors de la première connexion.
Notez que j'ai essayé de définir la variable EXPIRE sur 0 et INACTIVE sur -1 dans / etc / default / useradd, mais cela conduit à l'expiration du nouveau compte utilisateur après sa création. La sortie de la commande chage après la création de l'utilisateur avec ces variables est:
# 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
Lorsque j'essaye de me connecter sous foo user, le message "Votre compte a expiré. Veuillez contacter votre administrateur système" s'affiche.
Mais si j'ouvre la fenêtre «Propriétés de l'utilisateur», sélectionnez l'onglet «Informations sur le mot de passe» et cochez «Forcer le changement de mot de passe à la prochaine connexion», le résultat sera ce que j'attends. Le nouvel utilisateur sera invité à changer de mot de passe. La sortie de la commande chage dans ce cas sera:
# 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
Lorsque je me connecte sous l'utilisateur foo2, le système me demande de changer le mot de passe.
Alors, existe-t-il un moyen de configurer le système pour définir les paramètres du compte utilisateur lors de la création, comme dans le deuxième cas?
Mise à jour
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
Même si je commente INACTIVE ou si je la définis sur une valeur positive, le compte est expiré, mais pas un mot de passe.
De plus, j'ai configuré PAM sur la machine.
Upd 2
J'ai vérifié cela sur la machine avec RHEL 6.2 et sans configuration PAM. L'effet est le même.
EXPIRE=0
en /etc/default/useradd
devrait faire le travail. J'ai lu que tu as essayé. Pouvez-vous ajouter les lignes non commentées de /etc/default/useradd
? Il est verrouillé même si vous ne spécifiez pas INACTIVE = -1, mais une valeur différente, ou si vous commentez cette ligne? Pouvez-vous spécifier si les comptes sont verrouillés même lorsqu'ils sont créés par ligne de commande. Et, s'il vous plaît, lorsque vous avez une question différente, postez-la sur une page séparée si elle aura une réponse différente.
adduser
vous permet de mettre la chage
commande /usr/local/sbin/adduser.local
. Vous pouvez également définir le champ d'âge dans / etc / shadow directement sur 0. useradd
est "l'utilitaire de bas niveau", destiné à être utilisé en conjonction avec d'autres commandes.
chage -d 0 {user-name}
.