GNU/Linux >> Tutoriels Linux >  >> Linux

Principes de base de l'administrateur système Linux :gestion des comptes d'utilisateurs avec les UID et les GID

Comme de nombreuses tâches et fonctions d'administrateur système, la gestion des comptes d'utilisateurs n'est pas qu'une chose, et n'existe pas non plus dans le vide. La gestion des comptes d'utilisateurs est un aspect continu du travail et comporte de nombreuses facettes :création de compte, suppression de compte, manipulation des autorisations, expiration des comptes, établissement de normes de mot de passe, application de la sécurité, application des changements de mot de passe et manipulation des UID et des GID pour maintenir un système organisé et supportable. La première partie s'est concentrée sur les commandes utiles. Cet article actuel traite de la gestion des ID utilisateur (UID) et des ID de groupe (GID).

Introduction aux UID et aux GID

Par défaut, les systèmes Linux attribuent automatiquement des UID et des GID aux nouveaux comptes d'utilisateurs dans l'ordre numérique en commençant par 1000. En d'autres termes, si vous créez un nouveau compte d'utilisateur lors de l'installation, il aura UID =1000 et GID =1000, comme indiqué ci-dessous :

khess:x:1000:1000:Ken Hess:/home/khess:/bin/bash

La théorie derrière cette attribution arbitraire est que tout ce qui est inférieur à 1 000 est réservé aux comptes système, aux services et aux autres comptes spéciaux, et que les UID et GID des utilisateurs réguliers restent au-dessus de 1 000. Cette théorie est basée sur l'hypothèse que 999 numéros de compte moins quelques pré- celles attribuées seront plus que suffisantes pour satisfaire la plupart des systèmes pendant de nombreuses années. En tant qu'administrateur Linux depuis plus de 20 ans, je n'ai personnellement jamais manqué de ces 999 premiers numéros de compte système.

Le compte root a le privilège impressionnant d'avoir UID =0 et GID =0. Ces chiffres sont ce qui donne au compte root sa puissance écrasante. Si vous ne me croyez pas, renommez le compte root en goonygoogoo , ou tout ce que vous choisissez, puis créez un nouveau compte utilisateur nommé root , permettant au système de lui attribuer les prochains UID et GID disponibles. Ce compte n'a pas plus de pouvoir que n'importe quel autre compte d'utilisateur sur le système. Ce n'est pas le nom, mais l'UID et le GID qui donnent son pouvoir au compte d'administration. Pour tester davantage cette affirmation, attribuez un compte d'utilisateur de test avec 0 pour l'UID et le GID, et cet utilisateur est maintenant root, quel que soit le nom du compte.

Comme vous pouvez le voir dans la liste ci-dessous, les UID et GID sont (comme indiqué précédemment) attribués aux comptes d'utilisateurs dans l'ordre numérique à partir de 1000. L'UID et le GID correspondent toujours pour garder les choses organisées :

khess:x:1000:1000:Ken Hess:/home/khess:/bin/bash
msmith:x:1001:1001::/home/msmith:/bin/bash
mjones:x:1003:1003:Mary Jones:/home/mjones:/bin/bash
jjones:x:1004:1004:John Jones:/home/jjones:/bin/bash
djones:x:1005:1005:Don Jones:/home/djones:/bin/bash

Il n'y a pas de magie dans cette configuration. Le système le fait. Je n'ai pas à m'en soucier.

Mais que se passe-t-il si vos politiques sont différentes concernant les informations sur les utilisateurs et les groupes ? Il est possible que votre entreprise souhaite que des UID et des GID soient attribués en fonction de l'ID de l'employé ou d'un autre identifiant unique (j'espère que ce n'est pas le numéro de sécurité sociale, bien que j'ai vu ce numéro utilisé dans la pratique.) Ou, que se passe-t-il si vous souhaitez attribuer des GID spécifiques en fonction des rôles plutôt que d'ajouter des utilisateurs à un GID dans /etc/group ? Eh bien, il est assez facile de faire tout cela avec le useradd commande de mon précédent article sur ce sujet, qui couvrait les bases de la gestion des comptes d'utilisateurs.

Voici la liste des utilisateurs de /etc/group :

khess:x:1000:
msmith:x:1001:
mjones:x:1003:
jjones:x:1004:
djones:x:1005:

Personnalisation des UID et des GID

Traditionnellement, les administrateurs souhaitant ajouter un utilisateur à des groupes non principaux le font lors de la création du compte, à l'aide de la commande useradd outil avec le -G interrupteur. Assurez-vous de lister tous les groupes secondaires après le -G commutateur, séparés par des virgules sans espaces. La commande suivante permet au système de choisir l'UID et le GID principal à partir du prochain numéro disponible, mais ajoute l'utilisateur jdoe à l'sysadmin et helpdesk groupes :

$ sudo useradd -G sysadmin,helpdesk jdoe

Si vous souhaitez spécifier le groupe principal avec le -g commutateur, le groupe doit déjà exister. Par exemple, si vous saisissez la commande suivante :

$ sudo useradd -u 10600 -g 10600 -G sysadmin,helpdesk jdoe

Vous obtiendrez l'erreur "useradd :le groupe '10600' n'existe pas" et le système ne créera pas le compte. Si vous devez spécifier le groupe, ajoutez d'abord le groupe :

$ groupadd 10600

$ sudo useradd -u 10600 -g 10600 -G sysadmin,helpdesk jdoe

Gestion des autorisations de groupe

Lorsque les utilisateurs créent des fichiers, le propriétaire de l'utilisateur obtient les autorisations de lecture (r) et d'écriture (w), le groupe obtient l'autorisation de lecture et les autres obtiennent l'autorisation de lecture (rw-r--r--), ou en termes numériques, 644. l'autorisation d'exécution (x) n'est pas donnée par défaut. Ainsi, en tant qu'administrateur système, si un membre du groupe demande que l'autorisation d'exécution soit placée sur un fichier ou un groupe de fichiers, accordez l'autorisation d'exécution pour le groupe uniquement :

$ sudo chmod g+x coolscript.sh

L'utilisateur peut modifier l'autorisation lui-même s'il est le propriétaire de l'utilisateur, mais souvent il ne le fera pas de peur de le faire de manière incorrecte. Seul l'utilisateur propriétaire ou l'utilisateur racine peut modifier les autorisations sur un fichier même si le groupe dispose d'une autorisation d'écriture sur le fichier. L'autorisation d'écriture signifie qu'un membre du groupe peut modifier ou supprimer le fichier.

Assurez-vous que les répertoires de groupe partagés disposent d'un accès en écriture (autorisation) pour le groupe et que les fichiers qui doivent être modifiés par les membres du groupe disposent également d'un accès en écriture. Certains d'entre vous qui ont des connaissances plus avancées sur les autorisations se demandent probablement pourquoi je ne mentionne pas le chattr (changer les attributs) commande, et c'est une question valide. Le chattr La commande n'est pas abordée dans cet article mais sera couverte dans un article ultérieur qui se concentrera uniquement sur chattr et ses nombreuses options.

Conclusion

Cet article fournit une brève couverture des attributs UID et GID et explique comment les manipuler si nécessaire. J'ai également couvert un peu les autorisations de groupe. Dans un prochain article, je couvrirai le chattr commande qui vous donne des options pour empêcher la suppression accidentelle par les membres du groupe. Si vous voulez lire à l'avance, faites-le avec prudence. Le chattr La commande peut être frustrante pour les nouveaux administrateurs qui ne sont pas familiarisés avec sa syntaxe et les conséquences de ses options.

[Vous voulez essayer Red Hat Enterprise Linux ? Télécharge le maintenant gratuitement. ]


Linux
  1. Gestion des packages Linux avec apt

  2. 11 façons de trouver les informations de compte d'utilisateur et les détails de connexion sous Linux

  3. Surveillance du statut et de l'activité des utilisateurs sous Linux avec compte GNU

  4. Outils d'administration système :afficher du texte sous Linux avec queue et tête

  5. Labo Linux :SysAdmin 101

Gestion des paquets Linux avec dnf

Guide de l'administrateur système pour la gestion du réseau

Premiers pas avec GIT sous Linux

Principes de base de l'administrateur système Linux :démarrer la carte réseau au démarrage

Gestion des packages Linux avec YUM et RPM

Principes de base de la ligne de commande Linux - Travailler avec des fichiers et des répertoires