Comment ajouter un utilisateur à un groupe sur RHEL 8 / CentOS 8

Comment ajouter un utilisateur à un groupe sur RHEL 8 / CentOS 8

Dans le contexte d'un mécanisme de contrôle d'accès discrétionnaire (DAC), l'accès aux ressources système, aux fichiers et aux répertoires, est basé sur l'identité des utilisateurs et sur les groupes dont ils sont membre de. Ce type de contrôle d'accès est appelé «discrétionnaire» car un utilisateur peut effectuer ses propres décisions politiques (limité par ses propres autorisations, bien sûr). Dans ce tutoriel, nous verrons comment ajouter un utilisateur à un groupe et quelle est la différence entre un groupe primaire et un groupe secondaire sur un système RHEL 8 / Centos 8 Linux.

Dans ce tutoriel, vous apprendrez:

  • Quelle est la différence entre un groupe primaire et un groupe secondaire
  • Comment ajouter un utilisateur à un groupe en utilisant la commande UserMod
  • Comment ajouter un utilisateur à un groupe directement avec VigR


Comment ajouter un utilisateur à un groupe sur RHEL8

Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système RHEL 8 / CENTOS 8
Logiciel Aucun logiciel spécial n'est nécessaire pour suivre ce tutoriel
Autre Permission d'exécuter la commande avec les privilèges racine.
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Qu'est-ce qu'un groupe?

Linux, étant basé sur UNIX, est un système d'exploitation multi-utilisateurs: plusieurs utilisateurs existent et partagent des ressources dans le système en même temps. Au niveau le plus simple, l'accès à ces ressources est géré par l'utilisation d'un DAC (Contrôle d'accès discrétionnaire). L'accès aux fichiers et répertoires, par exemple, est basé sur l'identité d'un utilisateur et sur le groupes Il est membre de. Dans ce tutoriel, nous verrons comment ajouter un utilisateur à un groupe existant sur une machine Linux 8 en entreprise Red Hat.



Groupes primaires et secondaires

De nos jours, Red Hat, comme presque toutes les autres grandes distributions Linux, utilise un schéma appelé Upg, ou groupe privé utilisateur: chaque fois qu'un nouvel utilisateur est créé, automatiquement un nouveau groupe avec le même nom de l'utilisateur est également créé, et l'utilisateur devient son seul membre. C'est ce qu'on appelle un primaire ou privé groupe.

Chaque utilisateur a son propre groupe primaire, nommé d'après lui-même, sans autres membres. Cette configuration permet de modifier la valeur par défaut umask Valeur: traditionnellement c'était 022 (ça signifie 644 autorisation pour les fichiers et 755 pour les répertoires), maintenant il est généralement réglé pour 002 (664 autorisation pour les fichiers et 775 pour les répertoires).

Puisque, par défaut, chaque fichier ou répertoire créé par un utilisateur est créé avec le groupe principal de cet utilisateur, cette configuration, tout en préservant la sécurité (un utilisateur ne peut toujours modifier que ses propres fichiers), simplifie le partage des ressources et la collaboration entre les utilisateurs qui sont membres de le même groupe lorsque le bit setgid est utilisé, en autorisant les autorisations d'écriture pour le groupe.

Nous pouvons obtenir une liste des groupes auquel un utilisateur est membre, en utilisant le groupes commande:

$ Groupes Egdoc Wheel 

Comme nous pouvons l'observer à partir de la sortie de la commande, l'utilisateur actuel, EGDOC, appartient au egdoc groupe, qui est son propre groupe principal, et au roue groupe, ce qui le rend capable d'exécuter des commandes avec Sudo, et c'est ce qu'on appelle un groupe secondaire: un groupe facultatif qui n'est pas associé à l'utilisateur par défaut.

Ajouter un utilisateur à un groupe en utilisant UserMod

Alors qu'un utilisateur est le seul membre de son groupe principal, nous voulons peut-être ajouter un utilisateur à un groupe secondaire, peut-être pour lui accorder l'accès à une sorte de ressources. Dites par exemple que nous avons un test utilisateur, et nous voulons l'ajouter au groupe existant linuxconfig: Le moyen le plus simple et recommandé d'accomplir cette tâche est d'utiliser le usermod commande:

$ sudo usermod -a -g test linuxconfig


Examinons les options que nous avons utilisées. Le usermod utilitaire, modifions un compte utilisateur; En l'utilisant, nous pouvons effectuer une vaste gamme d'opérations, comme modifier le répertoire domestique d'un utilisateur, fixer une date d'expiration pour son compte ou le verrouiller immédiatement. La commande ajoutons également l'utilisateur à un groupe existant. Les options que nous avons utilisées dans ce cas sont -g (court pour --groupes) et -un, (qui est la forme courte de --ajouter).

L'option de -g ou-groupe. Comme nous l'avons dit précédemment, chaque groupe fourni doit déjà exister sur le système. Une chose très importante à retenir est que la liste des groupes fournis est interprété différemment si le -un L'option est également fournie ou non: dans le premier cas, la liste est interprétée comme les groupes supplémentaires auxquels l'utilisateur doit être ajouté en plus de ceux dont il est déjà membre; quand le -un L'option n'est pas fournie, à la place, la liste est interprétée comme la liste absolue des groupes dont l'utilisateur doit être membre de. Comme indiqué dans la commande de commande, dans ce dernier cas, si l'utilisateur est actuellement membre d'un groupe qui ne fait pas partie de la liste fournie à la commande, elle sera supprimée de ce groupe!

Le «test» de l'utilisateur est désormais membre du groupe «LinuxConfig». Vérifions-le:

Test de test de groupes $ sudo: test LinuxConfig 

Ajouter l'utilisateur à un groupe directement

En utilisant usermod est le moyen le plus simple d'ajouter un utilisateur à un groupe. Par souci d'exhaustivité, nous examinerons maintenant une autre façon d'effectuer la même tâche en utilisant le vigrant Commande Linux. Cette commande modifions le / etc / groupe et / etc / gshadow fichiers directement, les verrouillant également pendant qu'ils sont ouverts, pour empêcher leur corruption et assurer la cohérence.

La version «Shadow» du fichier (/ etc / gshadow) est modifiée uniquement lorsque le -s L'option est utilisée. Pour ajouter notre utilisateur «test» au groupe «LinuxConfig» avec cette méthode, nous devons exécuter le vigrant commande comme superutilisateur: le / etc / groupe Le fichier sera ouvert dans l'éditeur par défaut (généralement vi):



[…] Chrony: X: 993: Egdoc: X: 1000: CGRED: X: 992: Docker: X: 991: Apache: X: 48: Test: X: 1001: Test LinuxConfig: X: 1002: […] 

La syntaxe utilisée pour représenter chaque groupe est la suivante:

Nom de groupe: Group-Password: Group-ID: Utilisateurs

Les champs sont séparés par un côlon: le premier est le nom du groupe, le second est le «mot de passe» du groupe (qui n'est généralement pas défini) et le troisième champ est le Gid ou en groupe. Le dernier champ est la liste séparée des virgules des membres du groupe. Pour ajouter notre utilisateur «test» au groupe «LinuxConfig», nous devons modifier ce champ, de sorte que la ligne devient:

LinuxConfig: X: 1002: Test

Une fois le changement effectué, nous pouvons enregistrer et fermer le fichier. Un message apparaîtra sur le terminal:

Vous avez modifié / etc / groupe. Vous devrez peut-être modifier / etc / gshadow pour la cohérence. Veuillez utiliser la commande «Vigr -s» pour le faire. 

Puisque nous avons changé le / etc / groupe fichier, le message nous suggère de modifier également le fichier d'ombre connexe, qui est / etc / gshadow. Pour ceux d'entre vous qui ne le savent pas, un fichier d'ombre, est utilisé pour stocker la version cryptée des informations qui ne seraient pas sûres à stocker sous forme en clair. Par exemple, comme nous l'avons vu auparavant, un X est signalé dans le / etc / groupe fichier, à la place du mot de passe du groupe facultatif; La version hachée du mot de passe, en cas d'existence, serait stockée dans le fichier d'ombre.

Maintenant, faisons le même changement que nous avons fait auparavant, au / etc / gshadow fichier, de sorte qu'il est synchronisé avec / etc / groupe. Tout ce que nous avons à faire, c'est de fournir le -s Flag au vigrant commande:

$ sudo vigr -s

Une fois le fichier ouvert, nous apportons la modification nécessaire:

LinuxConfig:!::test

Après cela, nous devons forcer la rédaction de ce fichier, car il est en lecture seule: lors de l'utilisation vi, Nous pouvons le faire en exécutant le w! commande.



Une autre façon de garder les deux fichiers en synchronisation consiste à utiliser le grpconv commande, qui crée le / etc / gshadow dossier de / etc / groupe, et éventuellement à partir d'un / etc / gshadow déposer:

$ sudo grpconv

À ce stade, nous pouvons vérifier la cohérence entre les deux fichiers en exécutant:

$ sudo grpck

Aucune sortie ne doit être affichée à ce stade.

Conclusions

Dans ce tutoriel, nous avons vu la différence entre un groupe primaire et un groupe secondaire et quels sont leurs rôles dans un DAC modèle. Nous avons vu comment pouvons-nous ajouter un utilisateur à un groupe en utilisant le usermod commande, qui est la voie recommandée, ou directement en utilisant le vigrant Commande éditant en toute sécurité le / etc / groupe et / etc / gshadow des dossiers. Quelle que soit la procédure que vous décidez d'utiliser pour effectuer cette tâche administrative, vous devez toujours faire l'attention maximale.

Tutoriels Linux connexes:

  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Choses à installer sur Ubuntu 20.04
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Masterring Bash Script Loops
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Journalisation et audit avancés sur Linux
  • Comment créer Modifier et supprimer le compte des utilisateurs sur Linux
  • Fichiers de configuration Linux: 30 premiers
  • Gestion de la saisie des utilisateurs dans les scripts bash
  • À quelle fréquence devez-vous redémarrer votre serveur Linux?