Systèmes d'exploitation de type Unix. y compris Linux, ont été développés dès le départ en tant que systèmes préemptifs multitâches et multi-utilisateurs.
Multitâche fait référence à un système d'exploitation dans lequel plusieurs processus, également appelés tâches, peuvent s'exécuter (c'est-à-dire s'exécuter) sur un seul ordinateur apparemment simultanément et sans interférer les uns avec les autres. Chaque processus a l'illusion qu'il est le seul processus sur l'ordinateur et qu'il a un accès exclusif à tous les services du système d'exploitation.
[ Vous pourriez également aimer : Sécurité de l'administrateur système :8 contrôles de verrouillage Linux ]
Linux est multi-utilisateur car il permet à plusieurs personnes d'utiliser un ordinateur sans affecter les fichiers, processus, préférences, etc.
Comme il peut y avoir plusieurs utilisateurs sur le système, il est donc nécessaire de gérer leur authentification. L'authentification est principalement gérée avec des mots de passe et des clés publiques. L'un des nombreux outils disponibles que nous utilisons pour configurer les mots de passe est le passwd
commande.
La commande passwd
Le passwd
La commande modifie les mots de passe des comptes d'utilisateurs. Un utilisateur normal peut uniquement modifier le mot de passe de son propre compte, tandis que le superutilisateur peut modifier le mot de passe de n'importe quel compte. passwd
modifie également la période de validité du compte ou du mot de passe associé. Cette tâche est réalisée par des appels à l'API Linux-PAM et libuser.
Dans cet article, je suppose qu'il y a déjà des utilisateurs créés sur le système avec useradd
ou une autre commande.
Nous pouvons voir les utilisateurs créés sur le système avec cette commande :
[root@server ~]# cat /etc/passwd
Utilisez la page de manuel comme référence pour passwd
. Comme pour toutes les commandes Linux, il existe un synopsis, qui détaille comment la commande est utilisée. Le synopsis de la page de manuel pour passwd
est comme ci-dessous :
passwd [options] [LOGIN]
Running the passwd command without any argument will ask for a change of password for the user logged in.
Options
Voici une explication de certaines des options pour le passwd
commande :
passwd -S
Le -S
L'option affiche l'état des paramètres de mot de passe du compte utilisateur.
Par exemple :
# passwd -S evans
evans PS 2020-09-07 0 99999 7 -1 (Password set, SHA512 crypt.)
La sortie ci-dessus montre le compte evans a été créé le 7 septembre 2020 et possède un mot de passe défini avec le cryptage SHA512.
passwd -l
Le -l
L'option est utilisée pour verrouiller le mot de passe d'un compte spécifié et n'est disponible que pour root. Le résultat est que l'utilisateur ne peut pas utiliser le mot de passe pour se connecter au système mais peut utiliser d'autres moyens tels que l'authentification par clé publique SSH.
Par exemple :
# passwd -l user1
passwd -u
Cette option déverrouillera le mot de passe. Cette option fonctionne pour un compte dont le mot de passe est déjà verrouillé.
Par exemple :
# passwd -u user2
passwd -d
C'est un moyen rapide de supprimer le mot de passe d'un compte.
Par exemple :
# passwd -d user1
passwd -e
Il s'agit d'un moyen rapide d'expirer le mot de passe d'un compte. L'utilisateur sera obligé de changer de mot de passe lors de la prochaine tentative de connexion.
Par exemple :
# passwd -e user2
passwd -n
Cela définit le nombre de jours avant qu'un mot de passe puisse être changé. Par défaut, une valeur de zéro est définie, ce qui indique que l'utilisateur peut modifier son mot de passe à tout moment.
Par exemple :
# passwd -n 10 user2
Cela signifie user2 ne peut pas changer son propre mot de passe avant 10 jours ont passé.
Pour confirmer le réglage du mot de passe effectué avec le -n
ci-dessus, exécutez la commande suivante :
# passwd -S user1
user1 PS 2020-12-04 10 99999 7 -1 (Password set, SHA512 crypt.)
La valeur de 10 après la date indique le nombre minimum de jours jusqu'à ce que le mot de passe puisse être changé.
passwd -x
Définissez le nombre maximal de jours pendant lesquels un mot de passe reste valide. Après MAX_DAYS, le mot de passe doit être modifié.
Par exemple :
# passwd -x 90 user2
Cela signifie après 90 jours, le mot de passe doit être changé.
Confirmez le réglage avec passwd -S user1
[root@server ~]# passwd -S user1
user1 PS 2020-12-04 10 90 7 -1 (Password set, SHA512 crypt.)
La valeur de 90 après 10 indique la durée de vie maximale du mot de passe.
passwd -w
Cela définira le nombre de jours à l'avance pendant lesquels l'utilisateur commencera à recevoir des avertissements indiquant que le mot de passe expirera.
Par exemple :
# passwd -w 7 user2
Cela signifie que l'utilisateur recevra des avertissements indiquant que le mot de passe expirera 7 jours avant l'expiration.
passwd -i
Cette option est utilisée pour désactiver un compte après que le mot de passe ait expiré pendant un certain nombre de jours. Après qu'un compte d'utilisateur a eu un mot de passe expiré pendant des jours INACTIFS, l'utilisateur ne peut plus se connecter au compte.
Par exemple :
# passwd -i 5 user2
Cela signifie qu'après qu'un compte d'utilisateur a eu un mot de passe expiré pendant 5 jours, l'utilisateur ne peut plus se connecter au compte.
passwd --stdin
Cette option indique que passwd
doit lire le nouveau mot de passe à partir de l'entrée standard, qui peut être un tube.
Par exemple :
# echo "userpasswd1"|passwd --stdin user1
Cette commande lira à partir de echo
commande et transmettez-la au passwd
commande. Cela définira donc le user1 mot de passe pour userpasswd1.
[ Télécharger maintenant :Un guide de l'administrateur système sur les scripts Bash. ]
Récapitulez
Le passwd
La commande est très populaire pour gérer les comptes d'utilisateurs sur votre système Linux. Il manipule certaines des entrées dans le /etc/passwd
fichier, et l'administrateur système devrait l'avoir dans sa boîte à outils.