Recherche de site Web

LFCA : Apprendre la gestion des comptes utilisateur – Partie 5


En tant qu'administrateur système Linux, vous serez chargé d'assurer le bon déroulement de toutes les opérations informatiques de votre organisation. Étant donné que certaines opérations informatiques sont étroitement liées, un administrateur système porte généralement plusieurs chapeaux, notamment celui d’administrateur de bases de données ou de réseau.

Cet article est la Partie 5 de la série LFCA. Dans cette partie, vous vous familiariserez avec les commandes générales d'administration système pour créer et gérer des utilisateurs dans un système Linux.

Gestion des comptes utilisateur sous Linux

L'une des principales responsabilités d'un administrateur système Linux est de créer et de gérer des utilisateurs dans un système Linux. Chaque compte utilisateur possède 2 identifiants uniques : le nom d'utilisateur et l'ID utilisateur (UID).

Essentiellement, il existe 3 grandes catégories d’utilisateurs sous Linux :

Utilisateur racine

L'utilisateur root est l'utilisateur le plus puissant d'un système Linux et est généralement créé lors du processus d'installation. L'utilisateur root a un pouvoir absolu sur le système Linux ou tout autre système d'exploitation de type UNIX. L'utilisateur peut accéder à toutes les commandes, fichiers et répertoires et modifier le système selon ses préférences.

L'utilisateur root peut mettre à jour le système, installer et désinstaller des packages, ajouter ou supprimer d'autres utilisateurs, accorder ou révoquer des autorisations et effectuer toute autre tâche d'administration système sans aucune restriction.

L'utilisateur root peut à peu près tout faire sur le système. L'hypothèse sous Linux et les systèmes de type UNIX est que vous savez très bien ce que vous faites avec le système. Cela dit, l’utilisateur root peut facilement casser le système. Il vous suffit d'exécuter une commande fatale et le système partira en fumée.

Pour cette raison, il est fortement déconseillé d’exécuter des commandes en tant qu’utilisateur root. Au lieu de cela, les bonnes pratiques exigent que vous configuriez un utilisateur sudo. Cela consiste à accorder des privilèges sudo à un utilisateur régulier pour effectuer certaines tâches administratives et restreindre certaines tâches uniquement à l'utilisateur root.

Utilisateur régulier

Un utilisateur régulier est un utilisateur de connexion normal qui peut être créé par un administrateur système. Habituellement, il est prévu d'en créer un pendant le processus d'installation. Cependant, vous pouvez toujours créer autant d'utilisateurs réguliers que nécessaire après l'installation.

Un utilisateur régulier ne peut effectuer que des tâches et accéder aux fichiers et répertoires pour lesquels il est autorisé. Si nécessaire, un utilisateur régulier peut bénéficier de privilèges élevés pour effectuer des tâches de niveau administratif. Les utilisateurs réguliers peuvent également être supprimés ou désactivés lorsque le besoin s'en fait sentir.

Compte de services

Il s'agit d'un compte sans connexion créé lors de l'installation d'un progiciel. Ces comptes sont utilisés par les services pour exécuter des processus dans le système. Ils ne sont pas conçus ou destinés à effectuer des tâches de routine ou administratives dans le système.

Fichiers de gestion des utilisateurs

Les informations sur les utilisateurs d'un système Linux sont stockées dans les fichiers suivants :

  • Le fichier /etc/passwd
  • Le fichier /etc/group
  • Le fichier /etc/gshadow
  • Le fichier /etc/shadow

Comprenons chaque fichier et ce qu'il fait :

Le fichier /etc/passwd

Le fichier /etc/passwd contient de nombreuses informations sur les utilisateurs contenues dans divers champs. Pour afficher le contenu du fichier, utilisez simplement la commande cat comme indiqué.

cat /etc/passwd

Voici un extrait du résultat.

tecmint:x:1002:1002:tecmint,,,:/home/tecmint:/bin/bash

Concentrons-nous sur la première ligne et étoffons les différents champs. En partant de l'extrême gauche, nous avons ceci :

  • Le nom d'utilisateur : Il s'agit du nom de l'utilisateur, dans ce cas, tecmint.
  • Le Mot de passe : La deuxième colonne représente le mot de passe crypté de l'utilisateur. Le mot de passe n'est pas imprimé en texte brut, mais un espace réservé avec un signe x est utilisé.
  • L'UID : il s'agit de l'ID de l'utilisateur. C’est un identifiant unique pour chaque utilisateur.
  • Le GID : il s'agit de l'ID de groupe.
  • Une brève description ou un résumé de l'utilisateur.
  • Il s'agit du chemin d'accès au répertoire personnel de l'utilisateur. Pour les utilisateurs de Tecmint, nous avons /home/tecmint.
  • Il s'agit du shell de connexion. Pour les utilisateurs connectés régulièrement, cela est généralement représenté par /bin/bash. Pour les comptes de service tels que SSH ou MySQL, cela est généralement représenté par /bin/false.

Le fichier /etc/group

Ce fichier contient des informations sur les groupes d'utilisateurs. Lorsqu'un utilisateur est créé, le shell crée automatiquement un groupe qui correspond au nom d'utilisateur de l'utilisateur. C’est ce qu’on appelle le groupe primaire. L'utilisateur est ajouté au groupe principal lors de sa création.

Par exemple, si vous créez un utilisateur appelé bob, le système crée automatiquement un groupe appelé bob et ajoute l'utilisateur bob au groupe.

cat /etc/group

tecmint:x:1002:

Le fichier /etc/group comporte 3 colonnes. De l'extrême gauche, nous avons :

  • Nom de groupe. Chaque nom de groupe doit être unique.
  • Mot de passe du groupe. Généralement représenté par un espace réservé x.
  • ID de groupe (GID)
  • Les membres du groupe. Ce sont des membres qui appartiennent au groupe. Ce champ reste vide si l'utilisateur est le seul membre du groupe.

REMARQUE : un utilisateur peut être membre de plusieurs groupes. De même, un groupe peut avoir plusieurs membres.

Pour confirmer les groupes auxquels appartient un utilisateur, exécutez la commande :

groups username

Par exemple, pour vérifier les groupes auxquels appartient l'utilisateur tecmint, exécutez la commande :

groups tecmint

Le résultat confirme que l'utilisateur appartient à deux groupes : tecmint et sudo.

tecmint : tecmint sudo

Le fichier /etc/gshadow

Ce fichier contient des mots de passe cryptés ou « masqués » pour les comptes de groupe et, pour des raisons de sécurité, les utilisateurs réguliers ne peuvent pas y accéder. Il n’est lisible que par l’utilisateur root et les utilisateurs disposant des privilèges sudo.

sudo cat /etc/gshadow

tecmint:!::

À l'extrême gauche, le fichier contient les champs suivants :

  • Nom de groupe
  • Mot de passe du groupe crypté
  • Admin du groupe
  • Les membres du groupe

Le fichier /etc/shadow

Le fichier /etc/shadow stocke les mots de passe réels des utilisateurs dans un format haché ou crypté. Encore une fois, les champs sont séparés par deux-points et prennent le format indiqué.

sudo cat /etc/shadow

tecmint:$6$iavr8PAxxnWmfh6J$iJeiuHeo5drKWcXQ.BFGUrukn4JWW7j4cwjX7uhH1:18557:0:99999:7:::

Le fichier comporte 9 champs. En partant de l'extrême gauche, nous avons :

  • Le nom d'utilisateur : Il s'agit de votre nom de connexion.
  • Le mot de passe de l'utilisateur. Ceci est présenté dans un format haché ou crypté.
  • Le dernier changement de mot de passe. Il s'agit de la date à laquelle le mot de passe a été modifié et est calculée à partir de la date d'époque. L'époque est le 1er janvier 1970.
  • L'âge minimum du mot de passe. Il s'agit du nombre minimum de jours qui doivent s'écouler avant qu'un mot de passe puisse être défini.
  • L'âge maximum du mot de passe. Il s'agit du nombre maximum de jours après lequel un mot de passe doit être modifié.
  • La période d'avertissement. Comme son nom l'indique, il s'agit du nombre de jours peu avant l'expiration d'un mot de passe pendant lequel un utilisateur est informé de l'expiration imminente du mot de passe.
  • La période d'inactivité. Nombre de jours après l'expiration d'un mot de passe pendant lequel un compte utilisateur est désactivé sans que l'utilisateur ne modifie le mot de passe.
  • La date d'expiration. La date à laquelle le compte utilisateur a expiré.
  • Champ réservé. – Ceci est laissé en blanc.

Comment ajouter des utilisateurs dans un système Linux

Pour les distributions Debian et Ubuntu, l'utilitaire adduser est utilisé pour ajouter des utilisateurs.

La syntaxe est assez simple et directe.

adduser username

Par exemple, pour ajouter un utilisateur appelé bob, exécutez la commande

adduser bob

À partir du résultat, un utilisateur appelé « bob » est créé et ajouté à un groupe nouvellement créé appelé « bob ». De plus, le système crée également un répertoire personnel et y copie les fichiers de configuration.

Par la suite, vous serez invité à saisir le mot de passe du nouvel utilisateur, puis à le confirmer. Le shell vous demandera également le nom complet de l’utilisateur et d’autres informations facultatives telles que le numéro de chambre et le téléphone professionnel. Cette information n’est pas vraiment nécessaire, vous pouvez donc l’ignorer en toute sécurité. Enfin, appuyez sur 'Y' pour confirmer que les informations fournies sont correctes.

Pour les systèmes RHEL et basés sur CentOS , utilisez la commande useradd.

useradd bob

Ensuite, définissez le mot de passe de l'utilisateur à l'aide de la commande passwd comme suit.

passwd bob

Comment supprimer des utilisateurs dans un système Linux

Pour supprimer un utilisateur du système, il est conseillé d’abord d’empêcher l’utilisateur de se connecter au système, comme indiqué.

passwd -l bob

Si vous le souhaitez, vous pouvez sauvegarder les fichiers de l'utilisateur à l'aide de la commande tar.

tar -cvf /backups/bob-home-directory.tar.bz2  /home/bob

Enfin, pour supprimer l'utilisateur ainsi que le répertoire personnel, utilisez la commande deluser comme suit :

deluser --remove-home bob

De plus, vous pouvez utiliser la commande userdel comme indiqué.

userdel -r bob

Les deux commandes suppriment complètement l'utilisateur ainsi que ses répertoires personnels.

Conclusion

Il s'agissait d'un aperçu des commandes de gestion des utilisateurs qui s'avéreront utiles en particulier lors de la gestion des comptes d'utilisateurs dans votre environnement de bureau. Essayez-les de temps en temps pour perfectionner vos compétences en administration système.