PASSWD(1)

NOM
passwd - Modifier le mot de passe d'un utilisateur

SYNOPSIS

passwd [options] [LOGIN]

DESCRIPTION

La commande passwd modifie les mots de passe des comptes d'utilisateurs. Un utilisateur normal ne peut changer que son propre mot de passe, alors que le superutilisateur peut changer le mot de passe associé à n'importe quel compte. passwd modifie également les dates de fin de validité du compte ou du mot de passe associé.

  Modifications du mot de passe

Dans un premier temps, l'utilisateur doit fournir son ancien mot de passe, s'il en avait un. Ce mot de passe est ensuite chiffré puis comparé avec le mot de passe enregistré. L'utilisateur n'a droit qu'à un seul essai pour entrer le mot de passe correct. Le superutilisateur peut contourner cette première étape de manière à changer les mots de passe ayant été oubliés.

Une fois que le mot de passe a été entré, les informations de limite de validité du mot de passe sont vérifiées pour s'assurer que l'utilisateur est autorisé à modifier son mot de passe à cet instant. Dans le cas contraire, passwd refuse de changer le mot de passe, et quitte.

Le nouveau mot de passe sera demandé deux fois à l'utilisateur. Le second mot de passe est comparé avec le premier. Ces deux mots de passe devront être identiques pour que le mot de passe soit changé.

La complexité de ce mot de passe est alors testée. Comme ligne de conduite générale, un mot de passe doit toujours être constitué de 6 à 8 caractères en en choisissant un ou plus parmi chacun des ensembles suivants :

    • caractères alphabétiques minuscules

    • chiffres de 0 à 9

    • marques de ponctuation

Il faudra faire attention à ne pas utiliser les caractères de suppression ou d'effacement. passwd rejettera tout mot de passe dont la complexité ne sera pas suffisante.

  Astuces pour les mots de passe

La sécurité d'un mot de passe repose sur la force de l'algorithme de chiffrement et sur la taille de l'espace de clés utilisé. La méthode de chiffrement des systèmes UNIX est basée sur l'algorithme NBS DES. Des méthodes plus récentes sont maintenant recommandées (voir ENCRYPT_METHOD). La taille de l'espace de clés dépend de l'aléa du mot de passe utilisé.

Les compromissions de la sécurité des mots de passe résultent le plus souvent d'une négligence dans le choix du mot de passe, ou lors de son utilisation. Pour cette raison, vous ne devez pas sélectionner de mot de passe apparaissant dans un dictionnaire ou devant être écrit. Le mot de passe ne doit pas non plus être un nom propre, un numéro minéralogique, une date de naissance, ou une adresse. En effet ceux-ci pourraient être devinés pour violer la sécurité du système.

Vous pouvez trouver des conseils sur la façon choisir un mot de passe robuste sur http://en.wikipedia.org/wiki/Password_strength (en anglais).

OPTIONS

Les options disponibles pour la commande passwd sont :

-a, --all
    Cette option ne peut être utilisée qu'avec -S et permet d'afficher l'état des mots de passe pour tous les utilisateurs.

-d, --delete
    Supprimer le mot de passe (le rendre vide) d'un utilisateur. C'est une façon rapide de supprimer l'authentification par mot de passe pour un compte. Il rend le compte indiqué sans mot de passe.

-e, --expire
    Annuler immédiatement la validité du mot de passe d'un compte. Ceci permet d'obliger un utilisateur à changer son mot de passe lors de sa prochaine connexion.

-h, --help
    Afficher un message d'aide et quitter.

-i, --inactive DURÉE_INACTIVITÉ
    Cette option permet de désactiver un compte quelques temps après expiration de son mot de passe. DURÉE_INACTIVITÉ jours après expiration de son mot de passe, l'utilisateur ne pourra plus se connecter avec ce compte.

-k, --keep-tokens
    Indiquer que la modification de mot de passe ne sera effectuée que lors de l'expiration des jetons d'authentification (mots de passe). C'est utile dans le cas où l'utilisateur voudrait conserver ses jetons d'authentification encore valables.

-l, --lock
    Verrouiller le mot de passe du compte indiqué. Cette option désactive un mot de passe en le modifiant par une valeur qui ne correspond pas à un mot de passe chiffré possible (cela ajoute un « ! » au début du mot de passe).

    Veuillez noter que cela ne désactive pas le compte. L'utilisateur peut toujours se connecter en utilisant une autre méthode d'authentification (par exemple une clé SSH). Pour désactiver un compte, les administrateurs devraient utiliser usermod --expiredate 1 (cela définit la date d'expiration du compte au 2 janvier 1970).

    Les utilisateurs avec un mot de passe verrouillé ne sont pas autorisés à le changer.

-n, --mindays JOURS_MIN
    Définir le nombre minimum de jours entre chaque changement de mot de passe à MIN_DAYS. Une valeur de zéro pour ce champ indique que l'utilisateur peut changer son mot de passe quand il le souhaite.

-q, --quiet
    Mode silencieux.

-r, --repository REPOSITORY
    Modifier le mot de passe dans la base REPOSITORY

-R, --root RÉP_CHROOT
    Appliquer les changements dans le répertoire RÉP_CHROOT et utiliser les fichiers de configuration du répertoire RÉP_CHROOT.

-S, --status
    Afficher l'état d'un compte. Cet état est constitué de 7 champs. Le premier champ est le nom du compte. Le second champ indique si le mot de passe est bloqué (L), n'a pas de mot de passe (NP) ou a un mot de passe utilisable (P). Le troisième champ donne la date de dernière modification du mot de passe. Les quatre champs suivants sont : la durée minimum avant modification, la durée maximum de validité, la durée d'avertissement, et la durée d'inactivité autorisée pour le mot de passe. Les durées sont exprimées en jours.

-u, --unlock
    Déverrouiller le mot de passe du compte indiqué. Cette option réactive un mot de passe en remettant le mot de passe à sa valeur précédente (la valeur présente avant l'utilisation de l'option -l).

-w, --warndays DURÉE_AVERTISSEMENT
    Configurer le nombre de jours d'avertissement avant que le changement de mot de passe ne soit obligatoire. La valeur DURÉE_AVERTISSEMENT est le nombre de jours précédant la fin de validité pendant lesquels un utilisateur sera prévenu que son mot de passe est sur le point d'arriver en fin de validité.

-x, --maxdays JOURS_MAX
    Configurer le nombre maximum de jours pendant lesquels un mot de passe reste valable. Après JOURS_MAX, le mot de passe devra être modifié.

AVERTISSEMENTS

La vérification de la complexité des mots de passe peut varier d'un site à l'autre. Il est vivement conseillé aux utilisateurs de choisir un mot de passe aussi complexe que possible dans la limite de ce qu'il est capable de mémoriser.

Il se peut que les utilisateurs ne puissent pas changer leur mot de passe sur un système si NIS est activé et qu'ils ne sont pas connectés au serveur NIS.

CONFIGURATION

Les variables de configuration suivantes dans /etc/login.defs modifient le comportement de cet outil :

ENCRYPT_METHOD (chaîne de caractères)
    Définir les algorithmes de chiffrement par défaut du système pour coder les mots de passes (si aucun algorithme n'a été indiqué sur la ligne de commandes).

    Les valeurs suivantes sont acceptées : DES (par défaut), MD5, SHA256, SHA512.

    Remarque : ce paramètre remplace la variable MD5_CRYPT_ENAB.

MD5_CRYPT_ENAB (booléen)
    Indiquer si un mot de passe doit être chiffré en utilisant l'algorithme basé sur MD5. Si configurée à yes, les nouveaux mots de passe seront chiffrés en utilisant l'algorithme basé sur MD5 compatible avec celui utilisé par les versions récentes de FreeBSD. Il gère des mots de passe de longueur illimitée et des chaînes de salage plus longues. Configurez-la à no pour copier les mots de passe chiffrés sur d'autres systèmes qui ne comprennent pas le nouvel algorithme. la valeur par défaut est no.

    Cette variable est écrasée par la variable ENCRYPT_METHOD ou par toute option de la ligne de commande utilisée pour configurer l'algorithme de chiffrement.

    Cette variable est obsolète. Vous devriez utiliser ENCRYPT_METHOD.

OBSCURE_CHECKS_ENAB (booléen)
    Activer des vérifications supplémentaires lors des changements de mot de passe.

PASS_ALWAYS_WARN (booléen)
    Avertir en cas de mots de passe faibles (mais les accepte quand même) si vous êtes superutilisateur.

PASS_CHANGE_TRIES (nombre)
    Nombre maximum d'essais pour changer de mot de passe si refusé (trop facile).

PASS_MAX_LEN (nombre), PASS_MIN_LEN (nombre)
    Nombre de caractères significatifs dans le mot de passe pour crypt(). La valeur par défaut de PASS_MAX_LEN est 8. Ne la changez pas à moins que votre crypt() ne soit meilleur. Ceci est ignoré si MD5_CRYPT_ENAB est configurée à yes.

SHA_CRYPT_MIN_ROUNDS (nombre), SHA_CRYPT_MAX_ROUNDS (nombre)
    Quand ENCRYPT_METHOD est configurée à SHA256 ou SHA512, cela définit le nombre de rounds de SHA utilisés par l'algorithme de chiffrement par défaut (quand le nombre de rounds n'est pas précisé sur la ligne de commande).

    Avec beaucoup de rounds, il est plus difficile de trouver le mot de passe avec une attaque par force brute. Veuillez remarquer que plus de ressources processeur seront nécessaires pour authentifier les utilisateurs.

    Si non précisée, la libc utilisera le nombre de rounds par défaut (5000).

    Les valeurs doivent être comprises dans l'intervalle 1 000 - 999 999 999.

    Si une seule des variables SHA_CRYPT_MIN_ROUNDS ou SHA_CRYPT_MAX_ROUNDS est configurée, alors cette valeur sera utilisée.

    Si SHA_CRYPT_MIN_ROUNDS > SHA_CRYPT_MAX_ROUNDS, la valeur la plus élevée sera utilisée.

FICHIERS

/etc/passwd
    Informations sur les comptes des utilisateurs.

/etc/shadow
    Informations sécurisées sur les comptes utilisateurs.

/etc/login.defs
    Configuration de la suite des mots de passe cachés « shadow password ».

VALEURS DE RETOUR

La commande passwd retourne les valeurs suivantes en quittant :

0
    succès

1
    permission refusée

2
    combinaison d'options non valable

3
    échec inattendu, rien n'a été fait

4
    échec inattendu, le fichier passwd est manquant

5
    fichier passwd en cours d'utilisation, veuillez réessayer plus tard

6
    paramètre non valable pour l'option

VOIR AUSSI

chpasswd(8), passwd(5), shadow(5), login.defs(5),usermod(8).