LFCA : Apprenez la gestion des comptes utilisateur – Partie 5

En tant qu’administrateur système Linux, vous aurez pour tâche de veiller au bon déroulement de toutes les opérations informatiques dans votre organisation. Étant donné que certaines opérations informatiques sont interconnectées, un administrateur système porte généralement plusieurs casquettes, notamment celle d’administrateur de base de données ou de réseau.

Cet article est 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

Une des responsabilités principales 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’identifiant d’utilisateur (UID).

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

Utilisateur Root

L’utilisateur root est l’utilisateur le plus puissant dans un système Linux et est généralement créé lors du processus d’installation. L’utilisateur root a un pouvoir absolu dans 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 faire pratiquement tout sur le système. L’hypothèse des systèmes Linux et UNIX est que vous savez parfaitement ce que vous faites avec le système. Cela dit, l’utilisateur root peut facilement casser le système. Il suffit que vous exécutiez une commande fatale, et le système partira en fumée.

Pour cette raison, l’exécution de commandes en tant qu’utilisateur root est fortement déconseillée. Au lieu de cela, la bonne pratique exige que vous devriez configurer 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

A regular user is a normal login user that can be created by a systems administrator. Usually, there is a provision to create one during the installation process. However, you can still create as many regular users as needed post-installation.

A regular user can only perform tasks and access files and directories for which they are authorized. If need be, a regular user can be granted elevated privileges to perform administrative-level tasks. Regular users can also be deleted or disabled when the need arises.

Compte de service

Il s’agit d’un compte non ouvrable créé lors de l’installation d’un package logiciel. 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 administratives ou courantes dans le système.

Fichiers de gestion des utilisateurs

Les informations sur les utilisateurs dans 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 son rôle :

Le fichier /etc/passwd

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

$ cat /etc/passwd

Voici un extrait de la sortie.

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

Concentrons-nous sur la première ligne et détaillons les différents champs. En partant de l’extrême gauche, nous avons ce qui suit :

  • 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 chiffré de l’utilisateur. Le mot de passe n’est pas imprimé en texte clair, un espace réservé avec un signe x est utilisé à la place.
  • L’ UID : Il s’agit de l’identifiant utilisateur. C’est un identifiant unique pour chaque utilisateur.
  • Le GID : Il s’agit de l’identifiant de groupe.
  • A brief description or summary of the user.
  • Il s’agit du chemin d’accès au répertoire personnel de l’utilisateur. Pour l’utilisateur tecmint, nous avons /home/tecmint.
  • Il s’agit du shell de connexion. Pour les utilisateurs de connexion normaux, il est généralement représenté par /bin/bash. Pour les comptes de service tels que SSH ou MySQL, il 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 correspondant au nom d’utilisateur de l’utilisateur. Ceci est connu comme le groupe principal. 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 a 3 colonnes. De l’extrême gauche, nous avons :

  • Nom du 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 du groupe (GID)
  • Membres du groupe. Ce sont des membres qui appartiennent au groupe. Ce champ est laissé 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

La sortie 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 ‘cachés’ pour les comptes de groupe et, pour des raisons de sécurité, ne peut pas être consulté par les utilisateurs réguliers. Il n’est lisible que par l’utilisateur root et les utilisateurs ayant des privilèges sudo.

$ sudo cat /etc/gshadow

tecmint:!::

De l’extrême gauche, le fichier contient les champs suivants :

  • Nom du groupe
  • Mot de passe de groupe crypté
  • Administrateur de groupe
  • Membres du groupe

Le fichier /etc/shadow

Le fichier /etc/shadow stocke les mots de passe réels des utilisateurs sous forme cryptée ou chiffrée. Encore une fois, les champs sont séparés par des deux-points et suivent 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: C’est votre nom de connexion.
  • Le mot de passe de l’utilisateur. Celui-ci est présenté sous forme hashée ou chiffrée.
  • La dernière modification du mot de passe. Il s’agit de la date depuis laquelle le mot de passe a été changé et est calculée depuis la date de l’époque. L’époque est le 1er janvier 1970.
  • La durée minimale 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.
  • La durée maximale du mot de passe. Il s’agit du nombre maximum de jours après lesquels un mot de passe doit être changé.
  • La période d’avertissement. Comme son nom l’indique, il s’agit du nombre de jours avant l’expiration d’un mot de passe que l’utilisateur est averti de l’expiration imminente du mot de passe.
  • La période d’inactivité. Le nombre de jours après l’expiration d’un mot de passe pendant lesquels un compte utilisateur est désactivé sans que l’utilisateur ne change le mot de passe.
  • La date d’expiration. La date à laquelle le compte utilisateur expire.
  • Champ réservé. – Celui-ci est laissé vide.

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 de la sortie, un utilisateur nommé « bob » est créé et ajouté à un nouveau groupe appelé « bob« . De plus, le système crée également un répertoire personnel et y copie les fichiers de configuration.

Ensuite, vous serez invité à entrer le mot de passe du nouvel utilisateur, puis à le confirmer. L’interface de ligne de commande 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. Ces informations ne sont pas vraiment nécessaires, il est donc sûr de les ignorer. Enfin, appuyez sur ‘Y’ pour confirmer que les informations fournies sont correctes.

Add User in Ubuntu

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

# useradd bob

Ensuite, définissez le mot de passe pour l’utilisateur en utilisant la commande passwd comme suit.

# passwd bob
Add User in CentOS

Comment supprimer des utilisateurs dans un système Linux

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

# passwd -l bob

Si vous le souhaitez, vous pouvez sauvegarder les fichiers de l’utilisateur en utilisant la commande tar.

# tar -cvf /backups/bob-home-directory.tar.bz2  /home/bob
Lock User Account in Linux

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

# deluser --remove-home bob
Delete User in Linux

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

# userdel -r bob

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

Conclusion

C’était un aperçu des commandes de gestion des utilisateurs qui seront utiles, surtout lors de la gestion des comptes utilisateurs dans votre environnement de bureau. Essayez-les de temps en temps pour perfectionner vos compétences en administration système.

Source:
https://www.tecmint.com/linux-user-account-management/