Groupes d'utilisateurs Linux. Linux : Création d'un groupe et ajout d'un utilisateur au système Gestion des groupes Linux

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

Les comptes d'utilisateurs peuvent être affectés à un ou plusieurs groupes sous Linux. Vous pouvez définir des autorisations de fichiers et d'autres privilèges par groupe. Par exemple, sur Ubuntu, seuls les utilisateurs du groupe sudo peuvent utiliser la commande sudo pour obtenir des autorisations élevées.

Comment créer un nouveau groupe sous Linux

Si vous souhaitez créer un nouveau groupe sur votre système, utilisez la commande groupadd, remplaçant nouveau groupe au nom du groupe que vous souhaitez créer. Vous devrez également utiliser sudo avec cette commande (ou sur les distributions Linux qui n'utilisent pas sudo, vous devrez exécuter la commande su pour obtenir des autorisations élevées avant d'exécuter la commande).

sudo groupadd nouveau_groupe

Ajouter un compte utilisateur existant à un groupe

Pour ajouter un compte utilisateur existant à un groupe sur votre système, utilisez la commande mod utilisateur, remplaçant nom de groupe au nom du groupe auquel vous souhaitez ajouter l'utilisateur, nom d'utilisateur le nom de l'utilisateur que vous souhaitez ajouter.

Usermod -a -G nom_groupe nom_utilisateur

Par exemple, pour ajouter un utilisateur mial au groupe sudo, utilisez la commande suivante :

Usermod -a -G sudo mial

Modification du groupe principal d'un utilisateur

Bien qu'un compte d'utilisateur puisse être membre de plusieurs groupes, l'un des groupes est toujours le "groupe principal" et les autres sont des "groupes secondaires". Le processus de connexion de l'utilisateur, les fichiers et les dossiers créés par l'utilisateur seront affectés au groupe principal.

Pour modifier le groupe principal auquel un utilisateur est affecté, exécutez la commande mod utilisateur, remplaçant nom de groupe au nom du groupe, et nom d'utilisateur au nom du compte utilisateur.

Usermod -g nom_groupe nom_utilisateur

Faites attention ici à -g. Lorsque vous utilisez de petites g, vous affectez le groupe principal. Lorsque vous utilisez le capital -G, comme dans les exemples ci-dessus, vous affectez un groupe secondaire.

Comment savoir à quels groupes appartient un utilisateur

Pour afficher les groupes auxquels le compte d'utilisateur actuel est affecté, exécutez la commande groupes. Vous verrez une liste de groupes.

Pour afficher les ID numériques associés à chaque groupe, exécutez la commande identifiant:

Pour afficher les groupes auxquels appartient un autre compte d'utilisateur, exécutez la commande groups et spécifiez le nom du compte d'utilisateur.

nom_utilisateur des groupes

Vous pouvez également afficher les ID numériques associés à chaque groupe en exécutant la commande identifiant et fournir un nom d'utilisateur.

Identifiant nom_utilisateur

Le premier groupe de la liste des groupes, ou le groupe affiché après " gid=' dans la liste des identifiants est le groupe principal du compte utilisateur. Les autres groupes sont des groupes secondaires. Ainsi, dans la capture d'écran ci-dessous, le groupe principal du compte d'utilisateur est mial.

Créer un nouvel utilisateur et attribuer un groupe en une seule commande

Parfois, vous devrez peut-être créer un nouveau compte d'utilisateur ayant accès à une ressource ou à un répertoire spécifique, comme un nouvel utilisateur FTP. Avec la commande ajout d'utilisateur lors de la création d'un compte utilisateur, vous pouvez spécifier les groupes auxquels le compte utilisateur sera attribué, par exemple :

useradd -G nom_groupe nom_utilisateur

Par exemple, pour créer un nouveau compte utilisateur nommé jsmith et attribuer ce compte à un groupe ftp, vous devez exécuter :

Useradd -G ftp jsmith

Bien sûr, vous voudrez attribuer un mot de passe à cet utilisateur :

Mot de passe jsmith

Ajouter un utilisateur à plusieurs groupes

Vous pouvez ajouter un utilisateur à plusieurs groupes secondaires à la fois en séparant la liste par une virgule :

Usermod -a -G groupe1, groupe2, groupe3 nom_utilisateur

Par exemple, pour ajouter un utilisateur nommé mial en groupes ftp, sudo Et exemple, vous devez exécuter :

Usermod -a -G ftp, sudo, exemple mial

Vous pouvez spécifier autant de groupes que vous le souhaitez - séparez-les simplement par une virgule.

Comment afficher tous les groupes du système

Si vous voulez voir une liste de tous les groupes sur votre système, vous pouvez utiliser la commande obtenir:

Groupe Gand

Cette sortie vous montrera également quels comptes d'utilisateurs sont membres de groupes. Ainsi, dans la capture d'écran ci-dessous, nous voyons que les comptes d'utilisateurs journal système Et mial sont membres du groupe adm.

Cela devrait couvrir tout ce que vous devez savoir sur l'ajout d'utilisateurs à des groupes sur la ligne de commande Linux.

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.

Créer un nouveau groupe dans le système
Avec cette commande, vous pouvez créer un nouveau groupe d'utilisateurs (ci-après dénommé le groupe) groupe dans le système :

Ajout d'un nouvel utilisateur au système
Nouvel utilisateur utilisateur peut être ajouté avec la commande :


Il sera automatiquement placé dans un groupe individuel portant son nom.
Pour ajouter un utilisateur utilisateurà un groupe existant groupe prescrire:

Avec cette commande, un utilisateur peut être ajouté à plusieurs groupes à la fois. Pour ce faire, répertoriez les noms de groupe séparés par des virgules.

Pour ajouter un utilisateur à un nouveau groupe avec un nom différent du nom de l'utilisateur, procédez comme suit :

ajout d'utilisateur -g nom de groupe utilisateur

Ce groupe pour l'utilisateur sera le principal.

Définition d'un mot de passe pour un utilisateur
Mot de passe de l'utilisateur utilisateur donnée par la commande :


Cette commande vous demandera d'entrer votre mot de passe deux fois. Ne laissez jamais un utilisateur sans mot de passe !
Parfois, il est nécessaire d'empêcher un utilisateur de se connecter. Par exemple, si vous avez besoin d'accéder uniquement à un partage réseau. (Plus à ce sujet.) Pour ce faire, modifiez le fichier mot de passe avec la commande suivante :

Dans le champ mot de passe, j'ajoute un caractère astérisque "*" avant le mot de passe lui-même (ce fichier est décrit plus en détail à la fin de l'article). Enregistrez les modifications et quittez avec les touches Ctrl+X, clé Oui confirmons notre choix. Pour plus de sécurité, ce fichier peut être édité avec la commande vipw. Pour quitter l'éditeur et enregistrer les modifications, exécutez :wq. Pour quitter sans enregistrer les modifications, écrivez :q ou :q! si des modifications ont été apportées.

Fichiers d'informations utilisateur
Les informations suivantes sont fournies pour une meilleure compréhension de la création et du réglage des utilisateurs système. Pour modifier les utilisateurs, dans la plupart des cas, il sera plus facile d'utiliser la commande mod utilisateur. Vous pouvez en savoir plus sur cette commande en exécutant

. Habituellement, les commandes ci-dessus suffisent pour ajouter et modifier un utilisateur.
Toutes les informations sur les utilisateurs et les groupes du système sont stockées dans les fichiers suivants :
- /etc/passwd ce fichier contient la liste complète des utilisateurs connus du système. Chaque ligne de ce fichier décrit un utilisateur et contient sept champs qui contiennent des informations sur l'utilisateur. Les champs sont séparés par des deux-points.
1.
2. Mot de passe utilisateur crypté (ne laissez jamais ce champ vide);
3. Identifiant de l'utilisateur (UID) ;
4. ID de groupe (GID);
5. Champ GECOS, dans lequel vous pouvez spécifier le nom complet de l'utilisateur, son téléphone personnel, son lieu de travail, etc. ;
6. Chemin d'accès au répertoire personnel ;
7. Coquille d'enregistrement.

- /etc/ombre les mots de passe cryptés sont stockés ici. Ce fichier est en lecture seule par le superutilisateur. Chaque ligne correspond à un utilisateur. Il contient neuf champs séparés par des deux-points :
1. Nom d'enregistrement de l'utilisateur ;
2. Mot de passe utilisateur crypté ;
3. La date à laquelle le mot de passe a été modifié pour la dernière fois ;
4. Nombre minimum de jours entre les changements de mot de passe ;
5. Le nombre maximum de jours entre les changements de mot de passe ;
6. Nombre de jours avant l'avertissement d'expiration du mot de passe ;
7. Le nombre de jours avant l'expiration du mot de passe ;
8. Date d'expiration du compte ;
9. Un champ vide réservé qui n'est pas utilisé.
Les champs de date de ce fichier sont remplis avec le nombre de jours depuis le 1er janvier 1970. Les deux premiers champs doivent être remplis !

- /etc/groupe contient une liste de groupes et les noms d'utilisateur qui appartiennent à ces groupes. Comme les fichiers précédents, chaque ligne correspond à un groupe et comporte quatre champs, séparés par des deux-points :
1. Nom de groupe;
2. Mot de passe ou caractère crypté X indiquant l'utilisation du fichier gombre(quand connecter un utilisateur à un groupe à l'aide de l'utilitaire nouveaugrp vous devez entrer un mot de passe)
3. ID de groupe (GID);
4. Une liste séparée par des virgules des membres de ce groupe.

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