web-dev-qa-db-fra.com

Faire de la racine la seule capable de changer les mots de passe de tous les autres utilisateurs

Pour des raisons de sécurité, je souhaite que seule la racine modifie les mots de passe de tous les autres utilisateurs. Ceci sera réalisé si je règle/usr/bin/passwd sur 700. Désormais, si le vieillissement du mot de passe est activé ou si la première connexion est activée, lorsqu'un utilisateur se connecte avec un mot de passe ayant réussi ou expiré, il lui est demandé de choisir un nouveau mot de passe. Je veux désactiver.

SORTIE:

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

Outout Attendu:

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

Je veux n'importe quel travail autour pour réaliser ceci.

7
Krithik

Il y a une option pour ça:

passwd -n MIN <login-name>

empêchera de changer le mot de passe pendant MIN jours.

De l'homme 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.

Mettez-le 9999 et vous êtes prêt pour 27 ans.


Bien que non documenté, il semble que -1 fonctionne également comme une valeur. Comme il s’agit souvent d’une méthode permettant de désactiver quelque chose de façon permanente, je suppose que nous ferons de même ici. Exemple utilisant -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: 

Le mot de passe est demandé mais jamais changé.

Pour des raisons de sécurité, je souhaite que seule la racine modifie les mots de passe de tous les autres utilisateurs.

Vous décidez quels sont les mots de passe va créer un risque de sécurité. Supposons que vous choisissiez un mot de passe aléatoire avec des chiffres, des lettres, au moins un caractère spécial, peut-être une majuscule. Comme Gsi ^ 771H. Il est très difficile de se souvenir de ces mots de passe et vos utilisateurs vont les écrire. Sur un papier, dans un fichier texte ou même pire et enregistrez-les dans Gmail en tant que concept.

Les meilleurs mots de passe sont des phrases dont l'utilisateur peut se souvenir et qui peuvent être très longues. Un mot de passe comme "lastyeariwenttolondonformyholiday" est de loin supérieur à tout ce que vous pouvez appliquer même s'il manque des chiffres, des majuscules ou des caractères spéciaux. Cet utilisateur s'en souviendra car il est lié à quelque chose qu'il a fait et il sera très difficile de recourir à la force. La seule chose qu'il a à faire est de visiter Londres chaque année pour ses vacances;)

Éduquez vos utilisateurs et laissez-les choisir leur propre mot de passe. Si vous devez vous assurer que leur mot de passe est correct, expliquez-leur que vous souhaitez le définir avec eux. Vous pouvez cependant créer des règles sur le mot de passe: si vous définissez une règle selon laquelle le mot de passe doit comporter 15 caractères, dites-leur que c'est le cas, afin qu'ils choisissent des phrases au lieu de lettres aléatoires qu'ils comprendront et, espérons-le, en conviendront.

Ou ...

enter image description here

17
Rinzwind

Vous pouvez utiliser PAM . Dans le fichier /etc/pam.d/common-password:

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

Lorsque vous exécutez la commande passwd:

user@ubuntu1510:~$ 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