35.5. Configuration de la ligne de commande

Si vous préférez des outils en ligne de commande ou si ne disposez pas d'un système X Window installé, utilisez ce chapitre pour configurer les utilisateurs et les groupes.

35.5.1. Ajout d'un nouvel utilisateur

Pour ajouter un nouvel utilisateur au système :

  1. Exécutez la commande useradd pour créer un compte utilisateur verrouillé :

    useradd <username>
  2. Déverrouillez le compte en utilisant la commande passwd pour attribuer un mot de passe et établir des directives quant à l'expiration de ce dernier :

    passwd <username>

Les options de la ligne de commande pour useradd sont détaillées dans le Tableau 35-1.

OptionDescription
-c commentaireCommentaire pour l'utilisateur.
-d home-dirRépertoire personnel (home) à utiliser au lieu du répertoire /home/nom-utilisateur par défaut .
-e dateDate à laquelle le compte deviendra inactif dans le format AAAA--MM-JJ.
-f joursNombre de jours pouvant s'écouler après l'expiration du mot de passe et avant que le compte ne soit désactivé. (Si 0 est la valeur choisie, le compte deviendra inactif aussitôt après l'expiration du mot de passe. Si le choix est -1, le compte ne deviendra pas inactif après l'expiration du mot de passe.)
-g nom-groupeNom ou numéro du groupe pour le groupe par défaut de l'utilisateur. (Le groupe doit préalablement exister.)
-G liste-groupeListe des noms ou numéros de groupes supplémentaires (autres que ceux par défaut), séparés par des virgules, auxquels le membre appartient. (Les groupes doivent préalablement exister.)
-mCrée le répertoire personnel s'il n'existe pas.
-MÉvite la création du répertoire personnel.
-nÉvite la création d'un groupe privé d'utilisateurs pour l'utilisateur.
-rEntraîne la création d'un compte système avec un ID utilisateur (UID) inférieur à 500 et sans répertoire personnel.
-p mot-de-passeLe mot de passe crypté avec crypt.
-sShell de connexion de l'utilisateur, qui prend la valeur par défaut /bin/bash.
-u uidID utilisateur pour l'utilisateur, qui doit être unique et supérieur à 499.

Tableau 35-1. Options en ligne de commande pour useradd

35.5.2. Ajout d'un groupe

Pour ajouter un groupe au système, utilisez la commande groupadd :

groupadd <group-name>

Les options de la ligne de commande pour groupadd sont détaillées dans le Tableau 35-2.

OptionDescription
-g gidID groupe pour le groupe, qui doit être unique et supérieur à 499.
-rEntraîne la création d'un groupe système avec un ID groupe (GID) inférieur à 500.
-fQuitte avec un message d'erreur si le groupe existe déjà. (Le groupe n'est pas modifié.) Si les options -g et -f sont précisées mais que le groupe existe déjà, l'option -g n'est pas prise en compte.

Tableau 35-2. Options de la ligne de commande pour groupadd

35.5.3. Expiration du mot de passe

Pour des raisons de sécurité, il est recommandé aux utilisateurs de changer leurs mots de passe régulièrement. Ceci peut être réalisé lors de l'ajout ou de la modification de l'utilisateur sous l'onglet Informations sur le mot de passe de l'outil Gestionnaire d'utilisateurs.

Pour configurer l'expiration du mot de passe d'un utilisateur à partir de l'invite du shell, utilisez la commande chage suivie d'une des options figurant dans le Tableau 35-3 et du nom d'utilisateur de l'utilisateur de mot de passe.

ImportantImportant
 

Les mots de passe masqués doivent être activés afin de pouvoir utiliser la commande chage.

OptionDescription
-m joursPrécise la période, en jours, pendant laquelle l'utilisateur doit changer son mot de passe. Si la valeur choisie est 0, le mot de passe n'expire pas.
-M joursPrécise la durée maximale, en jours, pendant laquelle le mot de passe est valide. Lorsque le nombre de jours spécifié par cette option ajouté au nombre de jours précisé avec l'option -d est inférieur au jour actuel, l'utilisateur doit changer son mot de passe avant d'utiliser son compte.
-d joursPrécise le nombre de jours écoulés entre le 1er janvier 1970 et le jour où le mot de passe a été changé.
-I joursSpécifie le nombre de jours inactifs après l'expiration du mot de passe, avant que le compte ne soit verrouillé. Si la valeur est 0, le compte ne sera pas verrouillé après l'expiration du mot de passe.
-E dateSpécifie la date à laquelle le compte sera verrouillé, selon le format AAAA-MM-JJ. Au lieu de la date, il est possible d'utiliser le nombre de jours écoulés depuis le 1er janvier 1970.
-W joursSpécifie le nombre de jours devant s'écouler avant la date d'expiration du mot de passe, avant d'avertir l'utilisateur.

Tableau 35-3. Options de la ligne de commande pour chage

TuyauAstuce
 

Si la commande chage est suivie directement d'un nom d'utilisateur (sans option), les valeurs courantes de l'expiration du mot de passe s'afficheront et il sera alors possible de les modifier.

Si un administrateur système souhaite qu'un utilisateur détermine un mot de passe lors de sa première connexion, il suffit de choisir une expiration immédiate du mot de passe initial ou null, forçant ainsi l'utilisateur à le changer aussitôt après s'être connecté pour la première fois.

Pour forcer un utilisateur à configurer son mot de passe lors de la première connexion à la console, suivez les étapes ci-dessous. Notez que cette procédure ne fonctionnera pas si l'utilisateur se connecte en utilisant le protocole SSH.

  1. Verrouillez le mot de passe de l'utilisateur — Si l'utilisateur n'existe pas, utilisez la commande useradd afin de créer le compte utilisateur mais n'attribuez aucun mot de passe afin qu'il reste verrouillé.

    Si le mot de passe est déjà activé, verrouillez-le à l'aide de la commande suivante :

    usermod -L username
  2. Forcez l'expiration immédiate du mot de passe — Pour ce faire, tapez la commande suivante :

    chage -d 0 username

    Cette commande détermine la valeur correspondant à la date à laquelle le mot de passe a été changé la dernière fois, à partir de la référence, 1er janvier 1970. Cette valeur entraîne une expiration immédiate forcée du mot de passe, indépendemment de la politique d'expiration en place (s'il y en a une).

  3. Déverrouillez le compte — Pour ce faire, il existe deux approches courantes : l'administrateur peut soit assigner un mot de passe initial, soit assigner un mot de passe blanc.

    AvertissementAvertissement
     

    N'utilisez pas la commande passwd pour établir le mot de passe car cette commande désactivera l'expiration immédiate du mot de passe que vous venez juste de configurer.

    Pour attribuer un mot de passe initial, suivez les étapes ci-dessous :

    • Lancez l'interprète de ligne de commande python à l'aide de la commande python. La sortie suivante s'affichera :

      Python 2.2.2 (#1, Dec 10 2002, 09:57:09)
      [GCC 3.2.1 20021207 (Red Hat Enterprise Linux 3 3.2.1-2)] on linux2
      Type "help", "copyright", "credits" or "license" for more information.
      >>>
    • À l'invite, tapez les éléments suivants (en remplaçant password par le mot de passe à crypter et salt par une combinaison bien précise de deux lettres de l'alphabet en majuscule ou minuscule, chiffres, le point (.) ou la barre oblique en avant (/) :

      import crypt; print crypt.crypt("password","salt")

      La sortie produite sera un mot de passe crypté semblable à l'exemple suivant : 12CsGd8FRcMSM.

    • Tapez [Ctrl]-[D] pour quitter l'interprète Python.

    • Coupez et collez la sortie exacte du mot de passe crypté, sans aucun espace blanc ni au début, ni à la fin, dans la commande suivante :

      usermod -p "encrypted-password" username

    Au lieu d'attribuer un mot de passe initial, un mot de passe blanc peut-être établi à l'aide de la commande :

    usermod -p "" username

    AttentionAttention
     

    L'utilisation d'un mot de passe blanc est certes très pratique aussi bien pour l'utilisateur que pour l'administrateur, mais il y a toujours le risque qu'une tierce personne ne se connecte en premier et n'accède au système. Afin de minimiser une telle menace, il est recommandé à l'administrateur de s'assurer que l'utilisateur est prêt à se connecter dès que le compte est déverrouillé.

    Dans les deux cas, l'utilisateur devra saisir un nouveau mot de passe lors de la première connexion.