GNU/Linux >> Tutoriels Linux >  >> Cent OS

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

Dans le cadre d'un mécanisme de contrôle d'accès discrétionnaire (DAC), l'accès aux ressources système, fichiers et répertoires, est basé sur l'identité des utilisateurs et sur les groupes dont ils font partie. Ce type de contrôle d'accès est appelé "discrétionnaire" car un utilisateur peut prendre ses propres décisions politiques (limitées 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 principal et un groupe secondaire sur un système Linux RHEL 8 / CentOS 8.

Dans ce didacticiel, vous apprendrez :

  • Quelle est la différence entre un groupe principal et un groupe secondaire
  • Comment ajouter un utilisateur à un groupe à l'aide de la commande usermod
  • Comment ajouter un utilisateur à un groupe directement avec vigr


Comment ajouter un utilisateur à un groupe sur Rhel8

Configuration logicielle requise et conventions utilisées

Configuration logicielle requise et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version du logiciel utilisée
Système RHEL 8/CentOS 8
Logiciel Aucun logiciel spécial n'est nécessaire pour suivre ce tutoriel
Autre Autorisation d'exécuter la commande avec les privilèges root.
Conventions # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande
$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié

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 aux répertoires, par exemple, est basé sur l'identité d'un utilisateur et sur les groups dont il est membre. Dans ce didacticiel, nous verrons comment ajouter un utilisateur à un groupe existant sur une machine Red Hat Enterprise Linux 8.

Groupes primaires et secondaires

De nos jours, Red Hat, comme presque toutes les autres distributions Linux majeures, utilise un schéma appelé UPG , ou User Private Group :chaque fois qu'un nouvel utilisateur est créé, automatiquement un nouveau groupe avec le même nom d'utilisateur est également créé, et l'utilisateur devient son seul membre. C'est ce qu'on appelle un primary ou private groupe.

Chaque utilisateur a son propre groupe principal, nommé d'après lui-même, sans aucun autre membre. Cette configuration permet de changer le umask par défaut valeur :traditionnellement c'était 022 (cela signifie 644 autorisations pour les fichiers et 755 pour les répertoires), maintenant il est généralement défini sur 002 (664 autorisations pour les fichiers et 775 pour les répertoires).

Comme, 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 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 dont un utilisateur est membre, en utilisant les groups commande :

$ groups
egdoc wheel

Comme nous pouvons le constater à partir de la sortie de la commande, l'utilisateur actuel, egdoc, appartient au egdoc groupe, qui est son propre groupe principal, et à la wheel groupe, ce qui lui permet d'exécuter des commandes avec sudo , et est ce qu'on appelle un secondary group :un groupe optionnel 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 pouvons souhaiter ajouter un utilisateur à un groupe secondaire, peut-être pour lui accorder l'accès à certaines ressources. Disons par exemple que nous avons un test utilisateur, et nous voulons l'ajouter au groupe existant linuxconfig  :la manière la plus simple et recommandée d'accomplir cette tâche est d'utiliser le usermod commande :

$ sudo usermod -a -G linuxconfig test

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 changer le répertoire personnel d'un utilisateur, définir une date d'expiration pour son compte ou le verrouiller immédiatement. La commande nous permet également d'ajouter l'utilisateur à un groupe existant. Les options que nous avons utilisées dans ce cas sont -G (abréviation de --groups ) et -a , (qui est la forme abrégée de --append ).

L'option -G ou –groups nous permet de fournir une liste de groupes supplémentaires séparés par des virgules dont l'utilisateur doit être membre. 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ée différemment si le -a 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 -a n'est pas fournie, à la place, la liste est interprétée comme la liste absolue des groupes dont l'utilisateur doit être membre. Comme indiqué dans la page de manuel de la 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, il sera supprimé de ce groupe !

L'utilisateur "test" est maintenant membre du groupe "linuxconfig". Vérifions-le :

$ sudo groups test
test : test linuxconfig

Ajouter directement un utilisateur à un groupe

Utiliser usermod est le moyen le plus simple d'ajouter un utilisateur à un groupe. Par souci d'exhaustivité, nous allons maintenant examiner une autre façon d'effectuer la même tâche en utilisant le vigr commande linux. Cette commande nous permet de modifier le /etc/group et /etc/gshadow fichiers directement, en les verrouillant également lorsqu'ils sont ouverts, pour éviter leur corruption et assurer la cohérence.

La version « shadow » du fichier (/etc/gshadow) est modifiée uniquement lorsque le -s option est utilisée. Pour ajouter notre utilisateur "test" au groupe "linuxconfig" avec cette méthode, nous devons exécuter le vigr commande en tant que superutilisateur :le /etc/group 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 :

group-name:group-password:group-id:users

Les champs sont séparés par deux points :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 identifiant de groupe. Le dernier champ est la liste séparée par des virgules des membres du groupe. Pour ajouter notre utilisateur "test" au groupe "linuxconfig", nous devons modifier ce champ, afin que la ligne devienne :

linuxconfig:x:1002:test

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

You have modified /etc/group.
You may need to modify /etc/gshadow for consistency.
Please use the command 'vigr -s' to do so.

Depuis que nous avons changé le /etc/group file, le message nous suggère de modifier également le fichier shadow associé, qui est /etc/gshadow . Pour ceux d'entre vous qui ne le savent pas, un fichier fantôme est utilisé pour stocker la version cryptée des informations qu'il ne serait pas sûr de stocker sous forme de texte en clair. Par exemple, comme nous l'avons vu précédemment, un x est signalé dans le /etc/group fichier, à la place du mot de passe de groupe facultatif ; la version hachée du mot de passe, si elle existe, serait stockée dans le fichier shadow.

Maintenant, faisons le même changement que nous avons fait avant, au /etc/gshadow fichier, afin qu'il soit synchronisé avec /etc/group . Tout ce que nous avons à faire, c'est de fournir le -s drapeau au vigr commande :

$ sudo vigr -s

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

linuxconfig:!::test

Après cela, il faut forcer l'écriture de ce fichier, puisqu'il est en lecture seule :lors de l'utilisation de vi , nous pouvons le faire en exécutant le w! commande.

Une autre façon de garder les deux fichiers synchronisés est d'utiliser le grpconv commande, qui crée le /etc/gshadow fichier de /etc/group , et éventuellement à partir d'un /etc/gshadow déjà existant fichier :

$ 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.

Conclusion

Dans ce tutoriel, nous avons vu la différence entre un groupe principal et un groupe secondaire et quels sont leurs rôles dans un DAC maquette. Nous avons vu comment ajouter un utilisateur à un groupe soit en utilisant le usermod commande, qui est la méthode recommandée, ou directement en utilisant la commande vigr commande éditant en toute sécurité le /etc/group 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 y prêter la plus grande attention.


Cent OS
  1. Comment ajouter et supprimer des utilisateurs sur CentOS, RHEL et Fedora

  2. Comment ajouter un utilisateur à un groupe sous Linux

  3. Comment ajouter une prise en charge de langue supplémentaire dans CentOS/RHEL

  4. Comment ajouter un script personnalisé à systemd dans CentOS/RHEL 7

  5. Comment ajouter des paramètres régionaux sur CentOS/RHEL 8

Comment ajouter un utilisateur à un groupe sous Linux

Comment ajouter un utilisateur à un groupe sous Linux

Comment ajouter et supprimer un utilisateur dans CentOS 8

Comment ajouter un utilisateur à un groupe sous Linux

CentOS / RHEL :Comment ajouter une nouvelle partition de swap

Comment ajouter un utilisateur à un groupe Linux