Comment ajouter un utilisateur à un groupe sur RHEL 8 / CentOS 8
- 5026
- 1061
- Victor Charpentier
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
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?
- « Comment installer OwnCloud sur le serveur RHEL 8 / CentOS 8
- Comment installer KVM sur RHEL 8 / CENTOS 8 »