Gérer les utilisateurs : useradd, usermod et userdel. Gestion des utilisateurs Linux Comment savoir à quels groupes appartient un utilisateur

Créons un utilisateur Vivek et ajoutons-le au groupe de développeurs. Connectez-vous en tant qu'utilisateur root :

Par exemple, ajoutez un utilisateur Vivek:

ajout d'utilisateur -g utilisateurs -G administrateurs,ftp,www,développeurs -s/bin/bash -pxxxx-d/home/fantôme -m Vivek

  • -d répertoire personnel
  • -s définir le shell de démarrage (/bin/sh) - après cela, vous pouvez le modifier dans le fichier /etc/passwd
  • -p mot de passe
  • -g le groupe principal auquel l'utilisateur est affecté (le groupe doit exister)
  • -G autres groupes auxquels l'utilisateur appartient
  • -m créer un répertoire personnel pour l'utilisateur
  • mot de passe de l'utilisateur du caractère xxxx

Assurez-vous que le groupe de développeurs existe :

# grep développeurs /etc/group

S'il n'y a pas de groupe, utilisez la commande groupadd pour créer un nouveau groupe de développeurs :

Maintenant avec la commande mod utilisateur ajoutez l'utilisateur vivek au groupe des développeurs :

# adduser développeurs vivek && développeurs newgrp

Assurez-vous que l'utilisateur est ajouté au groupe des développeurs :

# identifiant vivek
sortir:
uid=1122(vivek) gid=1125(vivek) groupes=1125(vivek),1124(développeurs)

Définissez/modifiez le mot de passe de l'utilisateur vivek :

Jouons avec les groupes

Indiquez à l'utilisateur vivek de participer uniquement au groupe de développeurs

mod utilisateur-G développeurs vivek

Demandez à l'utilisateur vivek de ne participer qu'aux groupes admins, ftp, www, developers en tapant :

# usermod -G admins,ftp,www,developers vivek

Supprimer l'utilisateur vivek de certains groupes (lui réaffecter des groupes) :

# usermod -G ftp,www vivek

maintenant vivek n'est pas membre des groupes d'administrateurs et de développeurs.

Note:équipe mod utilisateur ne changera pas le nom d'utilisateur si cet utilisateur est actuellement connecté.

userdel- Supprimer l'utilisateur

Par exemple, supprimons l'utilisateur vivek :

  • -r supprimer l'utilisateur avec le répertoire personnel

SYNTAXE détaillée

utilisateurajoute [-u identifiant[-o] [-i]] [-g groupe][-G groupe[[,groupe] . . .]] [-d catalogue][-s coquille] [-c un commentaire][-m[-k skel_dir]] [-F inactif] [-e expirer][-p passager][-un événement[, . . .]] reg_name

Description détaillée

Appel ajout d'utilisateur ajoute généralement une nouvelle entrée utilisateur aux fichiers de données système identification et vérification d'identité(Identification et Authentification - I&A). Les utilisateurs sont une exception. service d'information sur le réseau(Network Information Service ou NIS en abrégé). Il vous permet également de définir l'appartenance à des groupes supplémentaires pour l'utilisateur (option -G) et créez-lui un répertoire initial (option -m). La nouvelle connexion est bloquée jusqu'à ce que la commande soit exécutée. mot de passe.

Immédiatement après l'installation, les valeurs par défaut des différents paramètres sont spécifiées dans le fichier /etc/default/useradd. Les valeurs par défaut pour celles des options répertoriées ci-dessous qui nécessitent des valeurs par défaut peuvent être modifiées avec la commande defadm.

Les entrées de fichier système créées avec cette commande ont une limite de longueur de 512 caractères par ligne. Si plusieurs options reçoivent de longs arguments, cette restriction peut être violée.

Les options suivantes sont prises en charge :

-u identifiant Numéro d'identification de l'utilisateur (UID). Ce nombre doit être un entier non négatif non supérieur à MAXUID défini dans sys/param.h. La valeur par défaut est le prochain UID non hérité disponible (unique) supérieur à 99. Cette option est ignorée si la nouvelle connexion sera administrée par le service d'informations réseau (NIS). Voir la section "Noms d'enregistrement du service d'informations sur le réseau" ci-dessous pour plus de détails.
-o Cette option vous permet de dupliquer l'UID (le rendre non unique). Étant donné que la protection du système dans son ensemble, ainsi que l'intégrité piste d'audit(piste d'audit) et information comptable(informations comptables) dépend notamment de la correspondance univoque de chaque UID avec une certaine personne, il n'est pas recommandé d'utiliser cette option (pour s'assurer que les actions de l'utilisateur sont prises en compte).
-je Permet l'utilisation d'un UID hérité.
-g groupe Identifiant entier ou nom symbolique d'un groupe existant. Cette option définit groupe principal(groupe principal) pour le nouvel utilisateur. Par défaut, le groupe standard spécifié dans le fichier est utilisé. /etc/default/useradd
-G groupe[[,groupe] . . .] Un ou plusieurs éléments dans une liste séparée par des virgules, dont chacun est un identificateur entier ou un nom symbolique d'un groupe existant. Cette liste définit appartenant à des groupes supplémentaires(appartenance à un groupe supplémentaire) pour l'utilisateur. Les répétitions sont ignorées. Le nombre d'éléments de la liste ne doit pas dépasser NGROUPS_MAX-1, car le nombre total de groupes supplémentaires pour un utilisateur plus le groupe principal ne doit pas dépasser NGROUPS_MAX. Cette option est ignorée si la nouvelle connexion sera administrée par le Network Information Service (NIS). Voir "Noms d'enregistrement du service d'informations sur le réseau" ci-dessous.
-d répertoire Répertoire d'accueil(répertoire personnel) du nouvel utilisateur. La longueur de ce champ ne doit pas dépasser 256 caractères. La valeur par défaut est HOMEDIR/nom_registre, Où HOMEDIR est le répertoire de base pour les répertoires personnels des nouveaux utilisateurs, et reg_name- le nom de connexion du nouvel utilisateur.
-s shell Le chemin d'accès complet au programme utilisé comme shell initial pour l'utilisateur immédiatement après la connexion. La longueur de ce champ ne doit pas dépasser 256 caractères. Par défaut, ce champ est vide, ce qui oblige le système à utiliser le shell standard /usr/bin/sh. En tant que valeur coquille un exécutable existant doit être spécifié.
-c commentaire Toute chaîne de texte. Habituellement, il s'agit d'une courte description du nom de connexion et est maintenant utilisé pour indiquer le nom et le prénom de l'utilisateur réel. Ces informations sont stockées dans un enregistrement d'utilisateur dans un fichier /etc/passwd. La longueur de ce champ ne doit pas dépasser 128 caractères.
-m Crée le répertoire personnel du nouvel utilisateur s'il n'existe pas déjà. Si le répertoire existe déjà, l'utilisateur que vous ajoutez doit avoir des autorisations sur le répertoire spécifié.
-k skel_dir Copie le contenu d'un répertoire skel_dir au répertoire personnel du nouvel utilisateur, au lieu du contenu du répertoire "squelette" standard, /etc/skel. Catalogue skel_dir doit exister. Le répertoire "squelette" standard contient des fichiers standards qui définissent l'environnement de travail de l'utilisateur. Répertoire défini par l'administrateur skel_dir peut contenir des fichiers et des répertoires similaires créés dans un but précis.
-f inactif Le nombre maximum de jours autorisés entre les utilisations d'une connexion avant que la connexion ne soit déclarée invalide. En règle générale, des entiers positifs sont utilisés comme valeurs.
-e expire La date à partir de laquelle le login ne peut plus être utilisé ; après cette date, aucun utilisateur ne pourra accéder sous ce login. (Cette option est utile lors de la création de connexions temporaires.) Entrez la valeur de l'argument expirer(représentant une date) peut être dans n'importe quel format (sauf la date julienne). Par exemple, vous pouvez entrer 10/6/99 ou 6 octobre 1999 .
-p passgen Indique que le champ FLAG du fichier /etc/ombre doit être défini sur la valeur spécifiée. Ce champ est accessible par la commande mot de passe pour déterminer si le générateur de mot de passe est valide pour l'utilisateur donné. Si option -p pas explicitement défini, l'enregistrement est vérifié FORCED_PASS dans le fichier /etc/default/useradd pour déterminer la valeur du champ correspondant dans /etc/ombre. Si des enregistrements FORCED_PASS non dans /etc/default/useradd, dans le champ de saisie correspondant dans /etc/ombre il n'y aura aucune valeur. Si la valeur FORCED_PASS est égal à 1, écrire à /etc/ombre obtient la valeur 1. Si la valeur passager n'est pas vide et n'est pas un caractère imprimable ASCII, un message de diagnostic est émis.
-un événement Liste des types ou classes d'événements, séparés par des virgules, formant masque d'audit(masque d'audit) pour l'utilisateur. Immédiatement après l'installation du système, il n'y a pas de masque d'audit standard pour l'utilisateur, mais il peut être défini dans le fichier /etc/default/useradd en utilisant la commande defadm. Cette option ne peut être utilisée que si les utilitaires d'audit sont installés. (Pour voir quels packages sont installés sur votre système, exécutez la commande infopkg.)
reg_name Une chaîne imprimable qui spécifie le nom de connexion du nouvel utilisateur. Il ne doit pas contenir de deux-points ( : ) et les caractères de retour à la ligne ( \n). Il ne doit pas non plus commencer par une lettre majuscule.

Notez que de nombreuses valeurs par défaut pour les options décrites ci-dessus peuvent être modifiées avec la commande defadm, conçu pour fonctionner avec un fichier /etc/default/useradd. Ces valeurs par défaut s'appliquent uniquement aux utilisateurs locaux. Pour les utilisateurs NIS, les valeurs par défaut sont définies dans la base de données Network Information Service. Pour modifier les valeurs NIS par défaut, vous devez spécifier des options sur la ligne de commande.

Noms d'enregistrement du service d'informations réseau

Si la connexion commence par un caractère + , (Par exemple, +chris), la définition d'utilisateur sera gérée par le Network Information Service (NIS). Les valeurs par défaut seront déterminées en fonction de la base de données NIS, et non du fichier /etc/defaults/useradd. Valeurs des arguments d'option -u, -g Et -G sera silencieusement ignoré si ces options sont données. Au lieu de cela, les valeurs d'ID utilisateur et d'ID de groupe seront extraites de la base de données NIS. Voir la page de manuel pour plus de détails mot de passe. Notez que lors de l'ajout d'un utilisateur NIS, la connexion doit déjà exister dans la base de données NIS. Par exemple, pour ajouter un identifiant Chris comme nom d'utilisateur NIS, Chris doit déjà exister dans la base de données NIS. Ensuite, vous devez appeler ajout d'utilisateur avec connexion +chris pour indiquer qu'un utilisateur doit être ajouté Chris en tant qu'utilisateur NIS, et non en tant qu'utilisateur local.

DES DOSSIERS

/etc/default/useradd
/etc/groupe
/etc/passwd
/etc/security/ia/ageduid
/etc/security/ia/audit(si des utilitaires d'audit sont installés)
/etc/security/ia/index
/etc/security/ia/master
/etc/ombre
/etc/skel

DIAGNOSTIQUE

Équipe ajout d'utilisateur se termine avec un code de retour de 0 en cas de succès. Lorsque des erreurs se produisent, les messages suivants peuvent être émis :


Syntaxe de ligne de commande non valide.
La syntaxe de la ligne de commande n'était pas valide.
Un argument non valide a été spécifié dans l'option.
Un argument non valide a été fourni avec une option.
L'identificateur spécifié dans l'option -u est déjà utilisé et l'option -o n'est pas spécifiée.
L'uid spécifié avec l'option -u est déjà utilisé et l'option -o n'a pas été spécifiée.
Le groupe spécifié avec l'option -g n'existe pas.
Le groupe spécifié avec l'option -g n'existe pas.
Le nom de connexion spécifié n'est pas unique.
La connexion spécifiée n'est pas unique.
Impossible de modifier /etc/group. La connexion est ajoutée au fichier /etc/passwd, mais pas au fichier /etc/group.
Impossible de mettre à jour /etc/group. La connexion a été ajoutée au fichier /etc/passwd mais pas au fichier /etc/group.
Échec de la création du répertoire de base (dans l'option -m) ou échec de la copie de skel_dir dans le répertoire de base.
Impossible de créer le répertoire personnel (avec l'option -m) ou de terminer la copie de skel_dir dans le répertoire personnel.
L'identifiant n'est pas assez ancien. Choisis un autre.
liquide pas suffisamment vieilli. Choisis un autre.
Une option -a non valide a été spécifiée ; le service système n'est pas installé.
Une option non valide -a a été spécifiée ; service système non installé.
Un type ou une classe d'événement d'audit non valide a été spécifié.
Un type d'événement d'audit ou un événement de classe non valide a été spécifié.

La base de la répartition des droits d'accès dans le système d'exploitation Linux repose sur le concept d'utilisateur. L'utilisateur qui possède le fichier reçoit certaines autorisations pour travailler avec lui, à savoir lire, écrire et exécuter. Les autorisations de lecture, d'écriture et d'exécution pour tous les autres utilisateurs sont également définies séparément. Étant donné que sous Linux, tout est un fichier, un tel système vous permet de contrôler l'accès à toute action dans ce système d'exploitation en définissant des autorisations de fichier. Mais même lors de la création de Linux, les développeurs ont réalisé que ce n'était clairement pas suffisant.

C'est pourquoi les groupes d'utilisateurs ont été inventés. Les utilisateurs peuvent être combinés en groupes afin que les groupes puissent déjà recevoir les autorisations nécessaires pour accéder à certains fichiers et, par conséquent, à des actions. Dans cet article, nous examinerons les groupes d'utilisateurs sous Linux, examinerons pourquoi ils sont nécessaires, comment ajouter un utilisateur à un groupe et gérer les groupes.

Comme je l'ai dit, les groupes sous Linux sont apparus au tout début du développement de ce système d'exploitation. Ils ont été conçus pour améliorer la gestion des droits. Analysons un petit exemple, prenons une organisation dans laquelle il n'y a qu'un seul ordinateur, nous avons des administrateurs et des utilisateurs. Chaque personne a son propre compte sur notre ordinateur. Les administrateurs peuvent configurer le système, mais il est préférable que les utilisateurs ne donnent pas libre cours pour que quelque chose ne soit pas cassé. Par conséquent, les administrateurs sont unis dans le groupe admin, et il a accès à tous les équipements, en fait, à tous les fichiers du répertoire dev, et les utilisateurs, unis dans le groupe des utilisateurs, et ce groupe a la possibilité de lire et écrire des fichiers dans un répertoire commun, avec lequel ils peuvent partager les résultats de votre travail. Nous pourrions attribuer des droits à chaque utilisateur séparément, lui permettant d'accéder à un fichier particulier, mais c'est trop gênant. C'est pourquoi les groupes ont été inventés. Dis, oui, rien, tu peux nommer ? Eh bien, imaginez maintenant que nos utilisateurs sont des processus. C'est là que la beauté des groupes prend tout son sens, les groupes ne sont pas tant utilisés pour fournir un accès aux utilisateurs, mais pour contrôler les droits des programmes, en particulier leur accès aux équipements. Pour les services, des groupes distincts sont créés et l'utilisateur pour le compte duquel il est lancé, le service peut être dans plusieurs groupes, ce qui lui donne accès à certaines ressources.

Voyons maintenant comment afficher les groupes Linux.

Groupes sous Linux

Tous les groupes créés sur le système se trouvent dans le fichier /etc/group. En regardant le contenu de ce fichier, vous pouvez trouver la liste des groupes Linux qui sont déjà sur votre système. Et vous serez surpris.

En plus de la racine standard et des utilisateurs, il y a quelques dizaines de groupes supplémentaires ici. Ce sont des groupes créés par des programmes pour contrôler l'accès de ces programmes aux ressources partagées. Chaque groupe permet la lecture ou l'écriture d'un fichier ou d'un répertoire spécifique sur le système, régulant ainsi les autorisations de l'utilisateur, et donc le processus exécuté sous cet utilisateur. Ici on peut considérer que l'utilisateur est le même que le processus, car le processus a tous les droits de l'utilisateur à partir duquel il est lancé.

Examinons de plus près chacun des groupes afin de mieux comprendre pourquoi ils sont nécessaires :

  • démon- au nom de ce groupe et de l'utilisateur démon, des services sont lancés qui nécessitent la possibilité d'écrire des fichiers sur le disque.
  • système- le groupe donne accès aux sources du noyau et inclut les fichiers enregistrés dans le système
  • synchroniser- permet d'exécuter la commande /bin/sync
  • Jeux- permet aux jeux d'écrire leurs fichiers de paramètres et leur historique dans un dossier spécifique
  • homme- permet d'ajouter des pages au répertoire /var/cache/man
  • LP- Permet l'utilisation de périphériques à port parallèle
  • poster- vous permet d'écrire des données dans les boîtes aux lettres /var/mail/
  • Procuration- utilisé par les serveurs proxy, pas d'accès pour écrire des fichiers sur le disque
  • www-données- avec ce groupe, le serveur Web est démarré, il donne un accès en écriture à /var/www, où se trouvent les fichiers du document Web
  • liste- vous permet de voir les messages dans /var/mail
  • groupe- utilisé pour les processus qui ne peuvent pas créer de fichiers sur le disque dur, mais uniquement en lecture, généralement utilisé avec l'utilisateur personne.
  • adm- vous permet de lire les journaux du répertoire /var/log
  • téléscripteur- tous les périphériques /dev/vca autorisent l'accès en lecture et en écriture aux utilisateurs de ce groupe
  • disque- ouvre l'accès aux disques durs /dev/sd* /dev/hd*, on peut dire qu'il s'agit d'un analogue de l'accès root.
  • composer- accès complet au port série
  • CD ROM- accès au cédérom
  • roue- vous permet d'exécuter l'utilitaire sudo pour élever les privilèges
  • l'audio- contrôle du pilote audio
  • src- accès complet aux sources dans le répertoire /usr/src/
  • ombre- permet de lire le fichier /etc/shadow
  • utmp- permet d'écrire dans les fichiers /var/log/utmp /var/log/wtmp
  • vidéo- vous permet de travailler avec le pilote vidéo
  • plugdev- vous permet de monter des périphériques USB externes, des CD, etc.
  • personnel- permet d'écrire dans le dossier /usr/local

Maintenant que vous savez pourquoi les groupes Linux sont utilisés et ce qu'ils sont par défaut, examinons la gestion des groupes Linux.

Gestion de groupe Linux

Vous pouvez également gérer les groupes à l'aide de l'interface graphique. KDE a un programme Kuser spécialement conçu pour cela, tandis que Gnome le fait via les paramètres système. De plus, les distributions populaires ont des outils distincts tels que YaST dans OpenSUSE ou Ubuntu Settings. Mais avec une interface graphique, je pense que vous comprendrez. Et nous examinerons la gestion des groupes Linux via le terminal. Occupons-nous d'abord des fichiers, puis seulement des utilisateurs.

Lorsqu'un fichier est créé, il est affecté au groupe principal de l'utilisateur qui l'a créé. C'est juste par exemple :

Ici, vous pouvez voir que le propriétaire de tous les dossiers est sergiy et que le groupe est également sergiy. C'est vrai, puisque ces utilisateurs ont été créés par moi. Mais allons plus loin :

Ici, nous voyons que les périphériques de disque sd * sont affectés au groupe de disques, ce qui signifie que l'utilisateur de ce groupe peut y accéder. Ou un autre exemple :

Tout comme nous l'avons considéré dans le paragraphe précédent. Mais ces groupes peuvent non seulement être définis par le système, mais vous pouvez vous-même modifier manuellement les groupes de fichiers pour cela, il existe la commande chgrp :

chgrp nom de groupe nom de fichier

Par exemple, créons un fichier de test :

Et changez le groupe pour cela:

Si vous souhaitez créer un groupe Linux, vous pouvez le faire avec la commande newgrp :

test sudo groupadd

Avec les utilisateurs, la situation est un peu plus compliquée. L'utilisateur dispose d'un groupe principal, celui-ci est précisé lors de la création, ainsi que de plusieurs groupes supplémentaires. Le groupe principal diffère des groupes habituels en ce que tous les fichiers du répertoire personnel de l'utilisateur ont ce groupe, et lorsqu'il est modifié, le groupe de ces répertoires changera également. De plus, ce groupe est reçu par tous les fichiers créés par l'utilisateur. Des groupes supplémentaires sont nécessaires pour permettre aux utilisateurs d'accéder à différentes ressources en les ajoutant à ces groupes sous Linux.

La gestion des groupes Linux pour un utilisateur se fait à l'aide de la commande usermod. Considérez sa syntaxe et ses options :

Options $usermod Nom d'utilisateur

  • -G- des groupes supplémentaires pour ajouter l'utilisateur à
  • -g changer le groupe principal pour l'utilisateur
  • -R supprimer un utilisateur d'un groupe.

Vous pouvez ajouter un utilisateur à un groupe avec la commande usermod :

sudo usermod -G -a nom de groupe nom d'utilisateur

Vous pouvez ajouter temporairement un utilisateur au groupe linux avec la commande newgrp. Un nouveau shell s'ouvrira et l'utilisateur y disposera des autorisations nécessaires, mais après la fermeture, tout redeviendra tel qu'il était :

nom de groupe sudo newgrp

Par exemple, ajoutons notre utilisateur au groupe de disques afin d'avoir un accès direct aux disques durs sans la commande sudo :

sudo usermod -G -a disque sergiy

Vous pouvez désormais monter des lecteurs sans la commande sudo :

monter /dev/sda1 /mnt

Vous pouvez afficher les groupes Linux dont l'utilisateur est membre avec la commande :

Vous pouvez également utiliser la commande id. Dans le premier cas, nous voyons simplement une liste de groupes Linux, dans le second, le groupe et l'identifiant de l'utilisateur sont en outre indiqués. Pour inclure un utilisateur dans un groupe Linux, l'option -g est utilisée pour le groupe principal.

Original : Principes de base de Linux
Auteur : Paul Cobbaut
Date de parution : 16 octobre 2014
Traduction : A.Panin
Date du transfert : 23 décembre 2014

Chapitre 29 Groupes d'utilisateurs

Les comptes d'utilisateurs du système peuvent être regroupés. Le concept de groupes d'utilisateurs vous permet de définir des droits d'accès au niveau des groupes d'utilisateurs au lieu de définir des droits d'accès similaires pour chaque utilisateur individuel.

Chaque distribution Unix ou Linux dispose d'un outil graphique pour gérer les groupes d'utilisateurs. Les utilisateurs qui n'ont pas d'expérience avec ces systèmes sont invités à utiliser ces outils. Les utilisateurs plus avancés peuvent utiliser les outils CLI pour gérer les comptes d'utilisateurs avec prudence : certaines distributions ne permettent pas aux outils de gestion de groupe d'utilisateurs GUI et CLI de fonctionner en même temps (un exemple est l'outil YaST de la distribution Novell Suse). Les administrateurs système expérimentés peuvent modifier directement les fichiers pertinents à l'aide de l'éditeur de texte vi ou de l'utilitaire vigr.

utilitaire groupadd

Des groupes d'utilisateurs peuvent être créés à l'aide de l'utilitaire groupadd. L'exemple ci-dessous montre comment créer cinq groupes (sans y ajouter d'utilisateurs). root@laika:~# groupadd tennis root@laika:~# groupadd football root@laika:~# groupadd snooker root@laika:~# groupadd formule1 root@laika:~# groupadd salsa

fichier de groupe

Les utilisateurs peuvent appartenir à plusieurs groupes. L'appartenance des utilisateurs à des groupes est décrite dans le fichier /etc/group. root@laika:~# tail -5 /etc/group tennis:x:1006: football:x:1007: snooker:x:1008: formula1:x:1009: salsa:x:1010: root@laika:~#

Le premier champ de la ligne de description du groupe d'utilisateurs est le nom du groupe. Le deuxième champ contient le mot de passe (crypté) du groupe (ce champ peut être vide). Le troisième champ contient l'ID de groupe ou la valeur GID. Le quatrième champ est la liste des membres du groupe, qui dans ce cas est vide car il n'y a pas d'utilisateurs dans les groupes.

commande des groupes

L'utilisateur peut émettre la commande groups pour voir la liste des groupes dont il est membre. $ groupes harry sports $

utilitaire usermod

L'appartenance d'un utilisateur à un groupe peut être modifiée à l'aide de l'utilitaire useradd ou usermod. root@laika:~# usermod -a -G tennis inge root@laika:~# usermod -a -G tennis katrien root@laika:~# usermod -a -G salsa katrien root@laika:~# usermod -a -G snooker sandra root@laika:~# usermod -a -G formula1 annelies root@laika:~# tail -5 /etc/group tennis:x:1006:inge,katrien football:x:1007: snooker:x:1008:sandra formule1:x:1009:annelies salsa:x:1010:katrien root@laika:~#

Soyez prudent lorsque vous utilisez l'utilitaire usermod pour ajouter des utilisateurs à des groupes. Par défaut, l'utilitaire usermod supprimera l'utilisateur de tous les groupes dont il était membre, si les noms de ces groupes n'ont pas été passés dans le cadre de la commande ! L'utilisation de l'option -a (ajouter) évite ce comportement.

utilitaire groupmod

Vous pouvez modifier le nom du groupe d'utilisateurs à l'aide de l'utilitaire groupmod. root@laika:~# groupmod -n fléchettes snooker root@laika:~# tail -5 /etc/group tennis:x:1006:inge,katrien football:x:1007: formula1:x:1009:annelies salsa:x: 1010:katrien fléchettes:x:1008:sandra

utilitaire groupdel

Vous pouvez supprimer définitivement un groupe d'utilisateurs à l'aide de l'utilitaire groupdel. root@laika:~# groupe de tennis root@laika:~#

utilitaire gpasswd

Vous pouvez également déléguer le contrôle de l'appartenance à un groupe d'utilisateurs spécifique à un autre utilisateur à l'aide de l'utilitaire gpasswd. Dans l'exemple ci-dessous, nous déléguons les droits d'ajouter des utilisateurs au groupe sportif et de les en supprimer à l'utilisateur serena. Nous utilisons ensuite la commande su pour ajouter l'utilisateur harry au groupe sports au nom de l'utilisateur serena. # gpasswd -A serena sports # su - serena $ id harry uid=516(harry) gid=520(harry) groups=520(harry) $ gpasswd -a harry sports Ajouter l'utilisateur harry au groupe sports $ id harry uid=516 ( harry) gid=520(harry) groups=520(harry),522(sports) $ tail -1 /etc/group sports:x:522:serena,venus,harry $

Les administrateurs de groupe d'utilisateurs ne sont pas tenus d'être membres de ces groupes. Ils peuvent supprimer leurs comptes des groupes d'utilisateurs qu'ils administrent sans affecter leur capacité à ajouter ou à supprimer des utilisateurs de ces groupes. $ gpasswd -d serena sports Supprime l'utilisateur serena du groupe sports $ exit

Les informations sur les administrateurs de groupe d'utilisateurs sont stockées dans le fichier /etc/gshadow. # tail -1 /etc/gshadow sports:!:serena:venus,harry #

Pour supprimer tous les comptes d'administrateur d'un groupe d'utilisateurs, utilisez l'utilitaire gpasswd avec des options pour spécifier une liste vide d'administrateurs. # gpasswd -A "" sports

utilitaire newgrp

Vous pouvez démarrer un shell enfant avec le nouveau groupe principal temporaire de l'utilisateur à l'aide de la commande newgrp. root@rhel65:~# mkdir prigroup root@rhel65:~# cd prigroup/ root@rhel65:~/prigroup# touch standard.txt root@rhel65:~/prigroup# ls -l total 0 -rw-r--r- -. 1 root root 0 Apr 13 17:49 standard.txt root@rhel65:~/prigroup# echo $SHLVL 1 root@rhel65:~/prigroup# newgrp tennis root@rhel65:~/prigroup# echo $SHLVL 2 root@rhel65: ~/prigroup# touch newgrp.txt root@rhel65:~/prigroup# ls -l total 0 -rw-r--r--. 1 root tennis 0 13 avril 17:49 newgrp.txt -rw-r--r--. 1 root root 0 13 avril 17:49 standard.txt root@rhel65:~/prigroup# exit exit root@rhel65:~/prigroup#

utilitaire vigré

Semblable à l'utilitaire vipw, l'utilitaire vigr peut être utilisé pour éditer manuellement le fichier /etc/group, car il verrouille le fichier avec élégance pendant l'édition. L'éditeur de texte vi ou l'utilitaire vigr ne peuvent être utilisés que par des administrateurs système expérimentés pour gérer des groupes d'utilisateurs.

Activité de mise en pratique : groupes d'utilisateurs

Procédure de pratique correcte : groupes d'utilisateurs

1. Créez les groupes d'utilisateurs tennis, football et sports.

groupe ajouter tennis ; groupadd football ; groupadd sports

2. Avec une seule commande, faites de l'utilisateur venus un membre des groupes de tennis et de sport.

Usermod -a -G tennis, sports vénus

3. Renommez le groupe d'utilisateurs football en foot.

Groupmod -n foot foot

4. Utilisez l'éditeur de texte vi pour ajouter l'utilisateur serena au groupe d'utilisateurs tennis.

5. Utilisez la commande id pour vérifier que l'utilisateur serena est membre du groupe d'utilisateurs tennis.

Id (après la déconnexion et la connexion, l'utilisateur serena doit être membre du groupe)

6. Confiez à un utilisateur la responsabilité de gérer les adhésions des utilisateurs aux groupes de foot et de sport. Vérifier la fonctionnalité du mécanisme utilisé.

gpasswd -A (pour rendre un utilisateur responsable de la gestion de l'appartenance à un groupe d'utilisateurs) gpasswd -a (pour rendre un utilisateur membre d'un groupe d'utilisateurs)

J'ai abordé les problèmes d'appartenance des utilisateurs à un groupe, ainsi que le fait que les utilisateurs et les groupes ont leur propre UID Et GID. Le sujet des propos a également été évoqué. Aujourd'hui, je voudrais systématiser les connaissances sur base d'utilisateurs locaux sous Linux, comment gérer les utilisateurs Et à propos fichiers responsables de la gestion des utilisateurs.

Linux est un système d'exploitation multi-utilisateurs. Chaque utilisateur sous linux appartient à un groupe central et un ou plusieurs groupes supplémentaires. Sous Linux, comme dans la plupart des autres systèmes d'exploitation, travailler avec les utilisateurs consiste en un ensemble des manipulations suivantes : ajouter un utilisateur/groupe, supprimer un utilisateur/groupe, modifier les paramètres d'un utilisateur/groupe. Ces manipulations s'effectuent à l'aide des commandes : useradd, groupadd, userdel, groupdel, usermod, groupmod, et mot de passe identifiant gpasswd. Plus en détail : Il existe également des outils graphiques d'administration des utilisateurs, généralement situés dans le shell X sous Administration - Utilisateurs et groupes.

Fonctionnalités de la gestion des utilisateurs sous Linux

Un exemple d'ajout d'un utilisateur à l'aide d'un shell :

User-add-server:~# groupadd test user-add-server:~# useradd -c "Test Test" -g test -m test user-add-server:~# passwd test Entrer le nouveau mot de passe UNIX : retaper le nouveau mot de passe UNIX : passwd : mot de passe mis à jour avec succès drwxr-xr-x 2 test test 4096 16 décembre 10:24 /home/test/ user-add-server:~#

Dans l'exemple, nous ajoutons un groupe pour le nouvel utilisateur (groupadd), puis nous créons un nouvel utilisateur avec le nom complet Test Test, qui a le groupe principal test et le test de connexion, puis nous définissons un mot de passe pour le test utilisateur ( passwd test) et vérifier les paramètres de l'utilisateur créé (id et répertoire créé utilisateur /home/test/). La liste montre que l'UID et le GID sont supérieurs à 1000. Cette fonctionnalité est un signe utilisateur ordinaire. Les valeurs inférieures à (inférieures à) 1000 (ou inférieures à 500 sur certaines distributions) indiquent que l'utilisateur est utilisateur du système.

Conformément à l'accord, utilisateurs du système ont généralement un identifiant inférieur à 100, et utilisateur racine a un identifiant égal à 0. La numérotation automatique des utilisateurs ordinaires commence à partir de valeurs UID_MIN défini dans le fichier /etc/login.defs, cette valeur est généralement définie sur 500 ou 1000.

En dehors de comptes d'utilisateurs réguliers et compte utilisateur racine, il y en a généralement plusieurs comptes spéciaux pour les démons comme FTP, SSH, mail, news, etc. Ces comptes gèrent souvent des fichiers, mais ils ne sont pas accessibles via une connexion régulière. Par conséquent, ils ont généralement shell de connexion défini comme /sbin/nologin ou /bin/faux afin que les tentatives de connexion échouent.

Sur certains systèmes, la ou les commandes d'ajout d'utilisateur ont des fonctionnalités étendues. C'est-à-dire que, par exemple, la commande useradd dans les distributions Fedora et Red Hat crée par défaut un nouveau groupe pour un nouvel utilisateur, et pour annuler cette fonction, vous devez utiliser l'option -n. Pour obtenir des éclaircissements sur ces questions, veuillez vous reporter à la documentation de la distribution.

Lorsqu'un utilisateur est supprimé, son répertoire n'est pas supprimé. En conséquence, vous pouvez obtenir une situation intéressante:

User-add-server:~# userdel test user-add-server:~# groupdel test user-add-server:~# ls -ld /home/test/ drwxr-xr-x 2 1001 1001 4096 16 décembre 10:24 /home/test/ user-add-server:~# groupadd test123 user-add-server:~# useradd -c "Test Test" -g test123 -m test123 user-add-server:~# ls -ldn /home/ test* drwxr-xr-x 2 1001 1001 4096 16 décembre 14h30 /home/test drwxr-xr-x 2 1001 1001 4096 16 décembre 14h29 /home/test123 user-add-server:~# ls - ld / home/test* user-add-server:~# ls -ld /home/test* drwxr-xr-x 2 test123 test123 4096 Dec 16 10:24 /home/test drwxr-xr-x 2 test123 test123 4096 Dec 16 14 :25 /home/test123 user-add-server:~# passwd test123 Entrez le nouveau mot de passe UNIX : retapez le nouveau mot de passe UNIX : passwd : mot de passe mis à jour avec succès user-add-server :~# su -l test123 test123@user-add - serveur :~$ pwd /home/test123 test123@user-add-server:/home/mc-sim$ ls /home/ mc-sim test test123 test123@user-add-server:~$ cd /home/mc- sim / test123@user-add-server:/home/mc-sim$ ls -la total 24 drwxr-xr-x 2 mc-sim mc-sim 4096 15 novembre 12h31 . drwxr-xr-x 6 racine racine 4096 16 décembre 14:25 .. -rw------- 1 mc-sim mc-sim 99 15 novembre 13:45 .bash_history -rw-r--r-- 1 mc-sim mc-sim 220 1er octobre 17:42 .bash_logout -rw-r--r-- 1 mc-sim mc-sim 3116 1er octobre 17:42 .bashrc -rw-r--r-- 1 mc- sim mc-sim 675 1er octobre 17:42 .profile test123@user-add-server:/home/mc-sim$ rm /home/mc-sim/.bash_logout rm : supprimer le fichier normal protégé en écriture `/home/mc -sim/.bash_logout" ? y rm : impossible de supprimer `/home/mc-sim/.bash_logout" : autorisation refusée test123@user-add-server:/home/mc-sim$ rm /home/test/.bashrc test123@user-add-server:/home/mc-sim$

Dans l'exemple donné, nous supprimer un utilisateur et un groupe test créé plus tôt. Dans le même temps, le répertoire de cet utilisateur est resté intact. Comme vous pouvez le voir sur la liste, les droits du répertoire sont restés pour identifiant 1001. Ensuite nous créer un nouvel utilisateur et groupe, mais avec un nom différent - test123. Cet utilisateur est affecté UID Et GID- utilisateur existant précédemment test. En regardant la liste des répertoires commençant par /accueil/test* avec clé -n et sans lui, nous voyons ce qui s'est passé - le répertoire utilisateur test est devenu la propriété de l'utilisateur test123 ce que nous disent les autorisations -rw-r--r-- test123 test123. Connectez-vous en tant qu'utilisateur test123 et pour vérifier les permissions, dans le répertoire /accueil/test essayez de supprimer le fichier, et essayez également de supprimer le fichier du répertoire du troisième utilisateur - mc-sim. Cet exemple illustre bien que sous Linux tout est lié aux identifiants.

Gestion des bases de données d'utilisateurs et de groupes sous Linux

Les principaux fichiers contenant les informations sur les utilisateurs et les groupes sont les quatre fichiers du répertoire /etc.

/etc/passwd

fichier de mots de passe contenant des informations de base sur les utilisateurs

/etc/ombre

fichier de mot de passe crypté shadow contenant des mots de passe cryptés

/etc/groupe

groupes fichier contenant des informations de base sur les groupes et les utilisateurs appartenant à ces groupes

/etc/gshadow

fichier de groupe fantôme contenant des mots de passe de groupe chiffrés

Il n'est pas recommandé de modifier ces fichiers avec un éditeur de texte standard. Ils (fichiers) sont mis à jour lorsque les commandes ci-dessus sont exécutées, et lorsqu'ils changent, ils sont bloqués et synchronisés.

Si, néanmoins, il est urgent de modifier les fichiers spécifiés, utilisez la commande vipw il est prudent de modifier le fichier /etc/passwd, et en utilisant la commande vigr, vous pouvez éditer le fichier en toute sécurité /etc/groupe. Ces commandes verrouillent les fichiers requis pendant que les modifications sont apportées avec l'aide. Si vous apportez des modifications à un fichier /etc/passwd, équipe vipw vous invite à vérifier si vous devez mettre à jour le fichier /etc/ombre. De même, si vous mettez à jour le fichier /etc/groupeà l'aide de la commande vigr, vous serez invité à mettre à jour et le fichier /etc/gshadow. Si vous devez supprimer des administrateurs de groupe, vous devez utiliser la commande vigueur parce que la commande gpasswd permet uniquement d'ajouter des administrateurs.

Veuillez noter que dans les systèmes modernes, passwd et fichiers de groupe ne stockez pas les mots de passe en texte clair. Ceci est fait pour des raisons de sécurité. eux-mêmes passwd et fichiers de groupe doivent être lisibles par tout le monde et les mots de passe cryptés doivent être illisibles par tout le monde. C'est pourquoi les mots de passe cryptés sont stockés dans des fichiers fantômes, et ces fichiers ne sont lisibles que par l'utilisateur root. L'accès nécessaire pour modifier les données d'authentification est fourni par le programme suid, qui dispose des droits d'utilisateur root mais peut être exécuté par n'importe quel utilisateur.

FICHIER /etc/passwd

user-add-server:~# cat /etc/passwd root:x:0:0:root:/root:/bin/bash lp:x:7:7:lp:/var/spool/lpd:/bin/ sh sshd:x:101:65534::/var/run/sshd:/usr/sbin/nologin test123:x:1001:1001:Test Test:/home/test123:/bin/sh

Le fichier /etc/passwd contient une ligne pour chaque utilisateur du système. Chaque ligne contient sept champs séparés par des deux-points (:), décrivant les champs en utilisant l'utilisateur root comme exemple :

champ signification description
Nom d'utilisateur racine le nom utilisé pour se connecter au système (login)
Mot de passe X mot de passe utilisateur (si chiffré, le caractère -x est utilisé)
identifiant utilisateur (UID) 0 ID de l'utilisateur
identifiant de groupe (GID) 0 ID de groupe

UNIX Les systèmes d'exploitation similaires sont multi-utilisateurs. Les utilisateurs et les groupes auxquels ils appartiennent sont utilisés pour contrôler l'accès aux fichiers système, aux répertoires et aux périphériques. Par défaut, Linux propose des mécanismes de contrôle d'accès relativement simples. Vous pouvez les étendre avec LDAP et ACL, mais dans cette rubrique, nous examinerons les contrôles d'accès standard.

Utilisateurs et groupes sous Linux

Utilisateurs:

Entreprise - Accès Internet #1.

Utilisateur est toute personne qui utilise un ordinateur. L'utilisateur se voit attribuer un nom, le nom doit être unique sur le système (linux a des noms réservés tels que "root", "hal" et "adm"). Le nom peut être composé de lettres de l'alphabet anglais, de chiffres arabes et de symboles "_" (espace inférieur) «.» (point).

racine(de l'anglais racine- racine; lire "root"), un superutilisateur est un compte dans les systèmes d'exploitation de type UNIX avec un identifiant (UID) de 0, le propriétaire de ce compte a le droit d'effectuer n'importe quelle opération. Pour des raisons de sécurité, exécutez en tant que superutilisateur racine Non recommandé.

Outre le nom du système, le nom complet (par exemple, le nom complet) d'un utilisateur réel peut être saisi et enregistré dans le système. Par exemple, l'utilisateur réel newuser peut être une personne nommée John Smith. Ces informations permettront à un administrateur système de mieux contrôler et identifier les utilisateurs, en particulier s'il y a des centaines, voire des milliers d'utilisateurs dans le système.

Pour chaque utilisateur, un répertoire séparé (répertoire personnel) est créé. L'utilisateur entre dans ce répertoire après s'être connecté et les fichiers et dossiers personnels de l'utilisateur y sont stockés. Tous les répertoires d'utilisateurs sont rassemblés en un seul endroit, généralement /home.

De plus, l'utilisateur se voit attribuer un shell de commande (interpréteur de commandes utilisé dans les systèmes d'exploitation de la famille UNIX). Par exemple : /bin/bash, /bin/zsh, /bin/sh etc. De nombreuses distributions Linux ont un shell bash par défaut pour les utilisateurs.

Chaque utilisateur se voit attribuer un numéro d'identification (User ID). Le numéro est abrégé en UID, qui est un identifiant d'utilisateur unique. Le système d'exploitation garde une trace de l'utilisateur par UID, et non par son nom.

De plus, chaque utilisateur se voit attribuer un mot de passe pour se connecter au système. Le mot de passe est stocké sous forme cryptée (crypté). La commande passwd est utilisée pour créer et modifier un mot de passe. L'administrateur système peut attribuer lui-même un mot de passe ou permettre à l'utilisateur d'entrer son propre mot de passe lors de la première autorisation.

Chaque utilisateur appartient à au moins un ou plusieurs groupes. (utilisateurs et groupes sous Linux)

Groupes:

Pour différencier les droits sous Linux, en plus des utilisateurs, il existe groupes. Tout comme un utilisateur, un groupe a des droits d'accès à certains répertoires, fichiers, périphériques (il existe des groupes réservés dans le système). Pour chaque fichier, non seulement l'utilisateur est défini, mais également le groupe. Les groupes regroupent les utilisateurs pour fournir les mêmes autorisations pour toute action.

Chaque groupe se voit attribuer un numéro d'identification ( identifiant de groupe). GID est l'abréviation de l'identifiant unique d'un groupe. L'appartenance d'un utilisateur à un groupe est définie par l'administrateur.

Afficher les utilisateurs

(utilisateurs et groupes sous Linux) Toutes les informations ci-dessus sont stockées dans le fichier /etc/passwd. Pour afficher la liste des utilisateurs, vous devez saisir la commande :

# chat /etc/passwd

Chaque compte occupe une ligne. La sortie peut être :

Racine:xD928Jhs7sH32:0:0:root:/root:/bin/bash newuser:Xv8Q981g71oKK:1000:100:John Smith:/home/newuser:/bin/bash

Cette ligne a le format suivant :

Compte:mot de passe:UID:GID:GECOS:répertoire:shell

compte- Nom d'utilisateur mot de passe- mot de passe utilisateur crypté UID- numéro d'identification de l'utilisateur GID- numéro d'identification du groupe principal de l'utilisateur GECOS- un champ facultatif utilisé pour spécifier des informations supplémentaires sur l'utilisateur (par exemple, le nom complet de l'utilisateur) annuaire- répertoire personnel de l'utilisateur ($HOME) coquille- shell utilisateur (généralement /bin/sh)

Pour afficher une liste des utilisateurs qui sont actuellement dans le système, il y a la commande who.

La sortie peut être :

Nouvel utilisateur pts/0 2013-11-13 14:19 (:0)

Créer, gérer et supprimer des utilisateurs

(utilisateurs et groupes sous Linux) Lors de la création de nouveaux utilisateurs, une séquence de certaines actions est effectuée. Tout d'abord, une entrée est créée dans le fichier /etc/passwd, où l'utilisateur se voit attribuer un nom unique, un UID, un GID et d'autres informations. L'UID doit être supérieur à 1000 et le GID supérieur à 100, cela est dû au fait que le système réserve de petites valeurs pour ses propres besoins. En outre, un répertoire est créé, les autorisations sont définies, les fichiers d'initialisation du shell sont placés et les fichiers de configuration sont modifiés.

Afin de ne pas saisir ces informations manuellement, il existe un programme useradd (ou adduser). Les paramètres de ce programme sont stockés dans le fichier /etc/default/useradd.

# chat /etc/default/useradd

La sortie est la suivante :

GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=no

Il vous permet de modifier les paramètres par défaut. Par exemple, un répertoire pour les utilisateurs de /home à /home/user ou un interpréteur de /bin/bash à /bin/sh.

Pour créer un nouvel utilisateur, utilisez la commande useradd :

# useradd -m -g users -G audio,lp,optical,stockage,video,wheel,games,power,scanner -s /bin/bash newuser

Décryptage :

# useradd -m -g [groupe principal] -G [liste des groupes supplémentaires] -s [shell] [nom d'utilisateur]

  • -m- crée un répertoire personnel, comme /home/[nom d'utilisateur].
  • -g- nom ou numéro du groupe principal de l'utilisateur.
  • -G- liste des groupes supplémentaires auxquels appartient l'utilisateur.
  • -s- définit le shell de l'utilisateur.

Pour des informations plus détaillées, utilisez le manuel :

#manuseradd

Avec la commande chfn, vous pouvez saisir ou modifier les informations du compte utilisateur (nom, téléphone professionnel, coordonnées professionnelles, etc.) (nom d'utilisateur - nom d'utilisateur).

# chfn [-f nom complet][-o bureau][-p téléphone professionnel][-h téléphone personnel][-u][-v]

La commande passwd est utilisée pour définir le mot de passe :

Si nous voulons forcer l'utilisateur à changer le mot de passe par le sien lors de la première connexion, nous devons utiliser la commande :

# chage -d 0

Vous pouvez en savoir plus sur la commande chage dans le manuel, entrez :

# changement d'homme

Il existe une commande userdel pour supprimer un utilisateur.

# userdel -r

L'option -r indique à l'utilisateur de supprimer le répertoire personnel et la boîte aux lettres avec l'utilisateur.

Gestion de groupe

Pour tout voir groupes systèmes et comment utilisateur ils appartiennent, vous devez entrer ce qui suit :

# chat /etc/groupe

Le fichier /etc/group définit les groupes dans le système. Pour voir à quels groupes appartient un utilisateur, tapez :

# groupes

La commande id affiche des informations plus détaillées.

# identifiant

Pour créer un nouveau groupe :

#groupadd

Pour ajouter un utilisateur à un groupe :

# gpasswd -a

Supprimer un utilisateur d'un groupe :

# gpasswd -d

Et pour supprimer un groupe, entrez ce qui suit :

#groupdel

(utilisateurs et groupes sous linux) C'est tout, en principe, le plus basique est énoncé.

Vous avez aimé l'article ? Partager avec des amis: