GNU/Linux >> Tutoriels Linux >  >> Linux

Gestion des comptes de groupe locaux sous Linux

En tant qu'êtres humains, lorsque nous découvrons un nouvel objet, notre cerveau fait plusieurs choses. Premièrement, nous voyons l'utilité de l'objet. Deuxièmement, nous attribuons à l'objet un groupe afin de savoir comment le classer à l'avenir. Par exemple, si un enfant découvre un marteau, il est généralement conscient qu'il pourrait être utilisé pour frapper des objets. Ils attribuent ensuite le marteau à un groupe. Dans certains cas, l'enfant qualifie le marteau d'outil et ne l'utilisera que pour accomplir une tâche. Dans d'autres, l'enfant qualifiera le marteau de jouet. Cependant, l'utilité du marteau est toujours apparente, alors assurez-vous de faire attention à ce dernier enfant. C'est pourquoi le regroupement est important.

Les groupes sous Linux sont importants car les utilisateurs sont présents sur le système pour un utilitaire défini. Regrouper les utilisateurs par utilitaire (ou accès) est un moyen fantastique de s'assurer que seuls les administrateurs disposent de privilèges d'administrateur et que les utilisateurs généraux ne peuvent accéder qu'aux fichiers auxquels ils sont censés accéder. Les utilisateurs sont répartis en trois catégories distinctes pour faciliter le processus de regroupement :

  • Superutilisateurs - responsable de l'administration du système. La racine compte est le superutilisateur principal et a UID 0 .
  • Utilisateurs du système - comptes d'utilisateurs utilisés par le système lui-même pour exécuter des processus ou des démons. Chacun de ces utilisateurs possède ses propres fichiers et ressources. Idéalement, les utilisateurs ne se connectent pas en tant qu'utilisateur système. La plage d'UID est 1-999 .
  • Utilisateurs réguliers - comptes que la plupart d'entre nous utilisons pour accomplir notre travail quotidien. Ils sont limités dans leur accès aux fichiers et aux systèmes et doivent obtenir sudoer autorisations pour effectuer des tâches administratives. Les UID commencent à 1000+ .

Si vous souhaitez plus d'informations sur les concepts de base des utilisateurs et des groupes, consultez l'article de Ken Hess Gestion des comptes d'utilisateurs avec UID et GID. Pour le reste de cet article, je me concentre sur la création de groupe, l'adhésion et les codes d'identification, ainsi que sur la façon d'attribuer des privilèges de superutilisateur à un groupe.

Groupe principal

Tous les utilisateurs sont affectés à un groupe principal par défaut. Pour les comptes locaux, le GID principal est le même que celui indiqué dans le /etc/passwd dossier. Cela signifie que le nom d'utilisateur et le nom de groupe sont identiques. Cela signifie également que l'utilisateur est le seul membre de ce groupe. Par exemple :

[root@server ~]# useradd user01
[root@server ~]# su - user01
[user01@server ~]$ id
uid=1002(user01) gid=1002(user01) groups=1002(user01) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

L'effet secondaire de cette conception est qu'elle rend la gestion des autorisations de fichiers beaucoup plus simple pour les utilisateurs et les administrateurs. Si vous souhaitez rassembler des utilisateurs dans un groupe principal dans un but commun, vous devez créer un groupe, puis lui affecter les utilisateurs souhaités.

[ Vous pourriez également aimer :Bases de l'administrateur système Linux :gestion des comptes utilisateur ]

Création de groupe

Pour notre démonstration, je vais créer le groupe demogroup . Vous pouvez voir à partir de la sortie que le groupe a été créé et attribué au GID 1007 :

[root@server ~]# groupadd demogroup
[root@server ~]# tail /etc/group
cockpit-wsinstance:x:975:
flatpak:x:974:
rngd:x:973:
admin:x:1001:
user01:x:1002:
user02:x:1003:
user03:x:1004:
user04:x:1005:
user05:x:1006:
demogroup:x:1007:

Changeons maintenant le GID en 10007 :

[tcarrigan@server ~]$ sudo groupmod -g 10007 demogroup 
Output Omitted
[tcarrigan@server ~]$ sudo tail /etc/group
Output Omitted
demogroup:x:10007:

Utilisez le groupmod -g GID groupname syntaxe pour changer le GID de n'importe quel groupe si nécessaire. Si vous avez besoin de changer le nom d'un groupe, utilisez groupmod -n NEWNAME oldname . Voici un exemple :

[tcarrigan@server ~]$ sudo groupmod -n usergroup demogroup 
[tcarrigan@server ~]$ sudo tail /etc/group
Output Omitted
usergroup:x:10007:

Notez que nous avons renommé demogroup au usergroup . Le groupe est toujours le même, comme indiqué par le GID 10007.

Ajouter des utilisateurs à un groupe

Un groupe sans membres est comme une forêt sans arbres. Alors, comment ajouter quelques membres ? Facile à faire.

[tcarrigan@server ~]$ sudo usermod -g usergroup user01
[tcarrigan@server ~]$ sudo usermod -g usergroup user02
[tcarrigan@server ~]$ sudo usermod -g usergroup user03
[tcarrigan@server ~]$ sudo usermod -g usergroup user04
[tcarrigan@server ~]$ sudo usermod -g usergroup user05

Vous pouvez voir le changement de GID et de nom de groupe depuis la création de user01 au début de cet exercice.

[user01@server ~]$ id
uid=1002(user01) gid=10007(usergroup) groups=10007(usergroup) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

Groupe complémentaire

Désormais, un utilisateur peut également appartenir à un groupe supplémentaire. Un groupe supplémentaire n'est que cela—supplémentaire. Une utilisation très courante des groupes supplémentaires consiste à attribuer des privilèges administratifs via sudo .

Par exemple, si user01 doit modifier les autorisations des autres utilisateurs du groupe d'utilisateurs , sans attribuer d'autorisations d'administrateur à l'ensemble du groupe, nous attribuons user01 à un groupe supplémentaire avec des autorisations d'administrateur. Sur de nombreux systèmes, la roue groupe est utilisé uniquement pour de telles occasions.

Pour ajouter une roue en tant que groupe supplémentaire à user01 :

[tcarrigan@server ~]$ sudo usermod -aG wheel user01
[tcarrigan@server ~]$ su - user01
Output Omitted
[user01@server ~]$ id
uid=1002(user01) gid=10007(usergroup) groups=10007(usergroup),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

REMARQUE :Le -a l'option force usermod dans ajouter mode. Si le -a n'est pas utilisée, l'utilisateur est supprimé de tout autre groupe supplémentaire non répertorié dans le -G liste d'options.

Vous pouvez maintenant voir que user01 a un groupe principal (groupe d'utilisateurs ) et un groupe supplémentaire (roue ).

Configuration du groupe Sudo

Que se passe-t-il si nous devons accorder des privilèges d'administrateur à l'intégralité du groupe d'utilisateurs ? ? Pour ce faire, nous devons créer le /etc/sudoers.d/usergroup fichier :

[root@server ~]# echo "%usergroup ALL=(ALL) ALL" >> /etc/sudoers.d/usergroup
[root@server ~]# su - user02
[user02@server ~]$ sudo cat  /etc/sudoers.d/usergroup
[sudo] password for user02:  
%usergroup ALL=(ALL) ALL

Vous pouvez voir ci-dessus que user02 , membre du groupe d'utilisateurs , dispose désormais de privilèges d'administrateur. Pour plus d'informations sur les privilèges d'administrateur et le fichier sudoers, consultez mon article précédent Principes de base de la ligne de commande Linux :sudo.

[ Vous voulez tester vos compétences d'administrateur système ? Faites une évaluation des compétences aujourd'hui. ] 

Pourquoi devriez-vous vous en soucier ?

Si vous vous posez la question ci-dessus, pensez concrètement aux concepts suivants :L'utilisation de groupes sous Linux est une partie fondamentale du système d'exploitation et est même nécessaire pour exécuter diverses applications. L'affectation d'utilisateurs à des groupes faciles à contrôler est un excellent moyen d'augmenter rapidement la sécurité de vos systèmes et de gérer plusieurs comptes d'utilisateurs. Comme indiqué ci-dessus, vous pouvez autoriser certains utilisateurs à accéder aux privilèges d'administrateur pour terminer un travail spécifique sans leur donner un accès root au système. Si nous pouvons garder nos utilisateurs organisés et productifs, tout en nous assurant qu'ils n'ont accès qu'à ce dont ils ont besoin, nous nous simplifions la vie et nos relations utilisateur-administrateur seront un peu moins stressantes. Votre organisation bénéficiera de ces améliorations à partir de zéro, qu'elle le sache ou non.


Linux
  1. Joyeux anniversaire Linux :27 ans

  2. Comment créer plusieurs comptes d'utilisateurs sous Linux

  3. Gérer les utilisateurs Linux et les groupes Linux

  4. Gestion des utilisateurs Linux avec la commande passwd

  5. 3 façons de lister les utilisateurs sous Linux

Commande Chgrp sous Linux (changer de groupe)

Comment migrer des utilisateurs locaux vers des comptes LDAP

Introduction à la gestion des conteneurs Linux

Sécuriser un système Linux hérité

Comment changer un shell d'utilisateurs sous Linux

Comment lister tous les utilisateurs d'un groupe sous Linux