Utilisateurs et groupes Linux

Si vous êtes nouveau sur Linux/Unix, le concept d’autorisations peut prêter à confusion. Ce guide vous explique ce que sont les autorisations, comment elles fonctionnent et comment les gérer. Un certain nombre d’exemples sont fournis pour illustrer comment définir et modifier les autorisations pour les utilisateurs et les groupes.,

Ce sont des Utilisateurs de Linux et des Autorisations de Groupe?

Les systèmes D’exploitation Linux / Unix ont la capacité de multitâche d’une manière similaire aux autres systèmes d’exploitation. Cependant, la principale différence de Linux par rapport aux autres systèmes d’exploitation est sa capacité à avoir plusieurs utilisateurs., Linux a été conçu pour permettre à plus d’un utilisateur d’avoir accès au système en même temps. Pour que cette conception multi-utilisateurs fonctionne correctement, il doit y avoir une méthode pour protéger les utilisateurs les uns des autres. C’est là que les autorisations entrent en jeu.

Lire, Écrire, & Autorisations d’Exécution

les Autorisations sont les « droits” d’agir sur un fichier ou un répertoire. Les droits de base sont read, write et execute.

  • Read: une autorisation lisible permet de visualiser le contenu du fichier., Une autorisation de lecture sur un directory vous permet de lister le contenu d’un répertoire.
  • Écrire: une autorisation d’écriture sur un fichier permet de modifier le contenu de ce fichier. Pour un répertoire, l’autorisation d’écriture vous permet d’éditer le contenu d’un répertoire (par exemple, ajouter/supprimer des fichiers).
  • Exécuter: pour un fichier, le fichier exécutable autorisation permet d’exécuter le fichier et exécuter un programme ou un script. Pour un répertoire, l’autorisation d’exécution vous permet de changer de répertoire et d’en faire votre répertoire de travail courant., Les utilisateurs ont généralement un groupe par défaut, mais ils peuvent appartenir à plusieurs groupes supplémentaires.

Affichage des Autorisations de Fichier

Pour afficher les autorisations sur un fichier ou un répertoire, la commande ls -l <directory/file>. N’oubliez pas de remplacer les informations dans le <directory/file> par le nom réel du fichier ou du répertoire. Voici un exemple de sortie pour la commandels:

 -rw-r--r-- 1 root root 1031 Nov 18 09:22 /etc/passwd

Les dix premiers caractères affichent les autorisations d’accès., Le premier tiret (-) indique le type de fichier (d pour le répertoire, s pour un fichier spécial, et - pour un fichier normal). Les trois caractères suivants (rw-) définissent l’Autorisation du propriétaire du fichier. Dans cet exemple, le propriétaire du fichier dispose uniquement des autorisations de lecture et d’écriture. Les trois caractères (r--) sont les autorisations pour les membres du même groupe que le propriétaire du fichier (qui dans cet exemple est en lecture seule)., Les trois derniers caractères (r--) afficher les autorisations pour tous les autres utilisateurs et dans cet exemple, il est en lecture seule.

utilisation de groupes, D’utilisateurs et de répertoires Linux

Les sections suivantes décrivent les groupes Linux et les commandes nécessaires pour créer, supprimer et modifier des comptes d’utilisateurs. Les commandes de création et de suppression de répertoires sont également couvertes.

Linux Groupes Primaires

Un groupe principal est le groupe par défaut d’un compte d’utilisateur appartient. Chaque utilisateur sur Linux appartient à un groupe principal., Le groupe principal d’un utilisateur est généralement le groupe enregistré dans le fichier /etc/passwd de votre système Linux. Lorsqu’un utilisateur Linux se connecte à son système, le groupe principal est généralement le groupe par défaut associé au compte connecté.

Vous pouvez trouver L’ID de groupe principal d’un utilisateur en visualisant le contenu du fichier/etc/passwd de votre système.

 cat /etc/passwd

la quatrième colonne contient l’ID de groupe principal de chaque utilisateur., Dans l’exemple de sortie, le groupe primaire ID example_user est 1001:

 postfix:x:106:113::/var/spool/postfix:/usr/sbin/nologinexample_user:x:1000:1001:,,,:/home/example_user:/bin/bash

Vous pouvez également trouver un groupe principal de l’utilisateur des informations à l’aide de la balise id commande. Remplacez example_user par l’un des utilisateurs de votre propre système.

id example_user

Votre sortie ressemble à l’exemple, qui affiche le groupe principal example_group.,

 uid=1000(example_user) gid=1001(example_group) groups=1001(example_group),27(sudo)

Si vous voulez une sortie moins verbeuse qui n’affiche que le nom de votre groupe principal, exécutez la commande suivante:

id -gn example_user

votre sortie dans ce cas est la suivante:

example_group

Linux Secondary Groups

Une fois qu’un utilisateur a été créé avec son groupe principal, il peut être ajouté à des groupes secondaires. Les utilisateurs du système Linux peuvent avoir un maximum de 15 groupes secondaires. Les groupes D’un système Linux sont stockés dans le fichier /etc/group.,

Pour trouver le groupe(s) appartient un utilisateur, exécutez la commande suivante:

groups example_user

L’exemple affiche la sortie du principal d’un utilisateur et le groupe secondaire(s):

example_user : example_group sudo

pour ajouter un utilisateur À un groupe secondaire utiliser l’exemple de commande. Remplacez second_example_group avec le nom du groupe et example_user avec le nom de l’utilisateur à ajouter au groupe.

sudo usermod -a -G second_example_group example_user

Vous pouvez également ajouter un utilisateur à plusieurs groupes., L’exemple de commande ajoute l’utilisateur example_user pour les groupes: second_example_group, third_example_group et fourth_example_group. Les options-a Et-G garantissent que l’utilisateur n’est supprimé d’aucun groupe auquel il appartient déjà.

sudo usermod -a -G second_example_group,third_example_group,fourth_example_group example_user

Quelle est la différence entre les groupes primaire et secondaire sous Linux?

un groupe primaire est le groupe auquel un utilisateur appartient par défaut. Chaque utilisateur doit appartenir à un premier groupe et un utilisateur ne peut appartenir qu’à un seul groupe principal., Tous les nouveaux répertoires ou fichiers créés par un utilisateur sont automatiquement associés au groupe principal d’un utilisateur.

Un groupe secondaire est un groupe qu’un utilisateur est ajouté après leur compte d’utilisateur est créé. Un utilisateur peut appartenir à zéro ou plusieurs groupes secondaires.

création et suppression de comptes utilisateurs

pour créer un nouvel utilisateur standard, utilisez la commandeuseradd., La syntaxe est comme suit:

useradd <name>

La commande useradd utilise une variété de variables, dont certaines sont indiquées dans le tableau ci-dessous:

Vous devez définir un mot de passe pour le nouvel utilisateur à l’aide de la balise passwd commande. Remarque, vous avez besoin des privilèges root pour modifier un mot de passe utilisateur. La syntaxe est la suivante:

passwd <username>

l’utilisateur peut changer son mot de passe à tout moment en utilisant la commandepasswd avec la syntaxe., Voici un exemple:

$ passwdChanging password for lmartin.(current) UNIX password:Enter new UNIX password:Retype new UNIX password:passwd: password updated successfully

Il existe une autre façon de créer des comptes d’utilisateurs qui pourrait être plus facile pour les administrateurs débutants. Toutefois, vous devrez peut-être installer un nouveau package. La commande d’installation Pour Debian/Ubuntu est la suivante:

apt-get install adduser

la commande adduser crée automatiquement un répertoire personnel et définit le groupe par défaut, le shell, etc., Pour créer un nouvel utilisateur standard avec la commandeadduser la syntaxe est la suivante:

adduser <name>

Une fois que vous entrez la commande, vous recevez une série d’invites; la plupart de ces informations sont facultatives. Toutefois, vous devez inclure au moins le nom de l’utilisateur (pour cet exemple, le nom d’utilisateur est cjones) et un mot de passe.

Il est important de noter que la sécurité doit toujours être prise très au sérieux. Par conséquent, il est fortement recommandé d’utiliser des mots de passe uniques pour chaque compte. Ne jamais partager ou donner votre mot de passe à d’autres utilisateurs.,

Pour supprimer un compte d’utilisateur, entrez la commande suivante:

userdel <name>

l’Émission de la commande ci-dessus ne supprime que le compte de l’utilisateur. Leurs fichiers et leur répertoire personnel ne sont pas supprimés.

pour supprimer l’utilisateur, son dossier personnel et ses fichiers, Utilisez cette commande:

userdel -r <name>

comprendre le groupe et L’utilisateur sudo Linux

root est le super utilisateur et a la capacité de faire n’importe quoi sur, Par conséquent, afin d’avoir une couche de sécurité supplémentaire, un utilisateur sudo est généralement utilisé à la place de root. Alors que sudo est utilisé pour donner à un autre utilisateur un accès limité au compte d’un autre utilisateur dans le but d’effectuer des tâches (dans la plupart des cas, l’utilisateur root ou le superutilisateur), sudo peut être mieux expliqué comme un outil qui permet aux utilisateurs et aux groupes d’avoir accès à des commandes qu’ils ne pourraient normalement pas utiliser., sudo permet à un utilisateur d’avoir des privilèges d’administration sans se connecter directement en tant que root. Un échantillon de la balise sudo commande:

sudo apt-get install <package>

Avant d’utiliser sudo, il peut avoir besoin d’être installé, si ce n’est pas une partie de votre distribution., La commande pour Debian est comme suit:

apt-get install sudo

Pour CentOS, la commande est la suivante:

yum install sudo

afin de permettre à l’utilisateur de la balise sudo capacité, ils doivent être ajoutés à un sudo activé groupe, ou leur nom d’utilisateur doit être ajouté dans le fichier sudoers avec un ensemble d’autorisations. Ce fichier est sensible et important en tant que contrôle d’accès et de sécurité, et ne doit pas être édité directement avec un éditeur de texte., Si le fichier sudoers est modifié de manière incorrecte, cela pourrait empêcher l’accès au système ou d’autres modifications involontaires des autorisations.

Remarque

pour des instructions sur l’ajout d’un utilisateur à un groupe activé par défaut sudo, consultez notre guide de sécurisation de votre serveur

Le visudo doit être utilisée pour éditer le fichier sudoers. Sur une ligne de commande, connectez-vous à votre système en tant que root et entrez la commande visudo.,

Les sudoers extrait permet aux utilisateurs de la liste d’exécuter n’importe quelle commande qu’ils aimeraient en préfixant avec sudo, ce qui donne à l’utilisateur le contrôle complet d’un système.

attention

les utilisateurs ne doivent jamais être ajoutés au fichier ou au groupesudoers avec une autorisation complète s’ils ne sont pas approuvés. Vous pouvez éventuellement restreindre ce que les utilisateurs peuvent faire avec sudo comme couche de sécurité supplémentaire; reportez-vous aux commandes whitelisting avec Sudo pour quelques exemples sur la syntaxe d’utilisation restreinte.,

Après avoir donné à votre compte utilisateur les privilèges sudo, enregistrez le fichier sudoers et déconnectez-vous en tant que root. Connectez-vous maintenant en tant qu’utilisateur et testez les privilèges en tant qu’utilisateur avec sudo access., Lorsqu’un nouvel utilisateur a besoin d’un accès sudo, vous pouvez désormais modifier le fichier sudoers avec votre propre login en utilisant la commande suivante:

sudo visudo

commandes de liste blanche avec Sudo

dans de nombreux cas, si vous souhaitez que les utilisateurs aient des autorisations sudo élevées, vous souhaitez également suivre le principe du moindre privilège et accorder aux utilisateurs sudo l’accès uniquement aux commandes dont ils ont besoin., Dans l’exemple suivant, le fichier sudoers a été modifié pour limiter l’utilisation de sudo à quelques commandes clairement définies:

alors que les utilisateurs root et sudousername disposent toujours des autorisations de superutilisateur complètes, l’utilisateur username a été limité aux seuls top a2f26faa6b »> commandes en tant qu’utilisateur sudo. De plus, tous les utilisateurs ajoutés au groupe sudo sont limités séparément aux commandes less, ls Et apt avec les autorisations sudo., Si vous vouliez donner à l’utilisateur username sudo l’accès aux 3 commandes supplémentaires sur liste blanche pour le groupe sudo, il vous suffirait de les ajouter au groupe sudo Et ils conserveraient toujours leurs propres autorisations uniques, leur donnant accès à un total de 5 commandes. Ce processus peut être répété pour autant d’utilisateurs et de groupes que nécessaire.

Remarque

lors de la mise en liste blanche de commandes individuelles utilisant la syntaxe ci-dessus, il est important d’utiliser le chemin absolu vers la commande., La balise which commande peut être utilisée pour trouver ce chemin d’accès absolu:

which command-name

le Travail avec les Groupes

Linux utilise des groupes pour organiser des utilisateurs. Les groupes organisent des collectes de comptes, principalement par mesure de sécurité. Le contrôle de l’appartenance à un groupe est administré via le fichier /etc/group, qui affiche une liste des groupes et de ses membres. Chaque utilisateur a un groupe par défaut ou principal. Lorsqu’un utilisateur se connecte, l’appartenance au groupe est définie pour son groupe principal., Cela signifie que lorsqu’un utilisateur lance un programme ou crée un fichier, le fichier et le programme en cours est associé à l’utilisateur actuel de l’appartenance à un groupe. Un utilisateur peut accéder à d’autres fichiers dans d’autres groupes, tant qu’ils sont également membres de ce groupe et les autorisations d’accès sont définies. Pour exécuter des programmes ou créer un fichier dans un autre groupe, l’utilisateur doit exécuter la commande newgrp pour changer son groupe actuel., Un exemple de la commande newgrp est le suivant:

$ newgrp <marketing>

Si l’Utilisateur entrant la commande référencée ci-dessus est membre du groupe marketing dans le fichier /etc/group, l’appartenance actuelle au groupe change. Il est important de noter que tous les fichiers créés sont maintenant associés au groupe marketing plutôt qu’au groupe principal de l’utilisateur.,

Création et Suppression de Répertoires

Pour créer un répertoire, utilisez la commande:

mkdir <directory name>

Pour créer un répertoire et de définir les autorisations dans le même temps, utilisez l’option suivante et la syntaxe:

mkdir -m a=rwx <directory name>

L’option-m est l’abréviation de mode, et un=rwx signifie que tous les utilisateurs ont lire, écrire, et exécuter les autorisations sur le répertoire. Pour voir une liste complète de toutes les options de la commande mkdir, entrez man mkdir à l’invite de commande.,

Pour supprimer un fichier, utilisez la commande suivante:

rm <file>

Pour supprimer un répertoire:

rm -r <directory name>

Il est important de noter que si vous supprimez un répertoire de tous les fichiers qu’il contient sont supprimées.

modification des Permissions de répertoire et de fichier

pour afficher les permissions et la propriété des fichiers et des répertoires, utilisez la commandels -al. L’optiona est d’afficher les fichiers cachés ou tous les fichiers, et l’optionl est pour la liste longue., La sortie est similaire à la suivante:

La première colonne avec les dix lettres et tirets indique les autorisations du fichier ou du répertoire. La deuxième colonne (avec le numéro unique) indique le nombre de fichiers ou de répertoires contenus dans le répertoire. La colonne suivante indique le propriétaire, suivi du nom du groupe, de la taille, de la date et de l’heure du dernier accès, et enfin du nom du fichier ., Par exemple, en utilisant la première ligne de la sortie ci-dessus, les détails sont les suivants:

Note

étant donné qu’un répertoire lui-même est un fichier, tout répertoire affiche 4096 comme sa taille. Cela ne reflète pas la taille du contenu du répertoire.

Commande Chmod

La commande chmod est court pour changer de mode. Chmod est utilisé pour modifier les autorisations sur les fichiers et les répertoires., La commandechmod peut être utilisée avec des lettres ou des chiffres (également appelés octal) pour définir les autorisations.,/td>

u autorisations Actuelles le fichier a pour propriétaire g autorisations Actuelles le fichier a pour les utilisateurs d’un même groupe o autorisations Actuelles le fichier a pour les autres, non dans le groupe

Il est important de se rappeler que le premier caractère de la première colonne d’une liste de fichier indique si c’est un répertoire ou un fichier., Les neuf autres caractères sont les autorisations pour le fichier/répertoire. Les trois premiers caractères sont pour l’utilisateur, les trois suivantes pour le groupe, et les trois derniers sont pour les autres. L’exemple drwxrw-r– se décompose comme suit:

d est un répertoire

rwx l’utilisateur a lire, écrire, et les autorisations d’exécution

rw – le groupe dispose d’autorisations de lecture et écriture

r– tous les autres sont en lecture seule autorisations

Notez que le tiret (-) indique autorisations sont supprimées., Par conséquent, avec le groupe” tous les autres », r-se traduit par autorisation de lecture uniquement, les autorisations d’écriture et d’exécution ont été supprimées.

inversement, le signe plus (+) équivaut à accorder des permissions:chmod u+r,g+x <filename>

L’exemple ci-dessus se traduit comme suit:

u is for userr is for readg is for groupx is for execute

En d’autres termes, l’Utilisateur a reçu l’autorisation de lecture et le groupe a reçu l’autorisation Remarque, lors de la définition de plusieurs autorisations pour un ensemble, une virgule est requise entre les ensembles.,

Chmod Format Octal

Pour utiliser le format octal, vous devez calculer les autorisations pour chaque partie du fichier ou du répertoire. Les dix premiers caractères mentionnés ci-dessus correspondent à un nombre à quatre chiffres en octal. L’autorisation d’exécution est égal au nombre de un (1), l’autorisation d’écriture est égal au nombre de deux (2), et l’autorisation de lecture est égal au nombre de quatre (4). Par conséquent, lorsque vous utilisez le format octal, vous devez calculer un nombre entre 0 et 7 pour chaque partie de l’autorisation. Un tableau a été fourni ci-dessous pour des éclaircissements.,

Bien que le format octal peut sembler difficile à comprendre, il est facile à utiliser une fois que vous obtenez l’essentiel. Cependant, la définition des autorisations avec r, w et x peut être plus facile. Vous trouverez ci-dessous des exemples d’utilisation à la fois des lettres et du format octal pour définir des autorisations sur un fichier ou un répertoire.,

un Exemple de syntaxe: chmod <octal or letters> <file/directory name>

format de Lettre: chmod go-rwx Work (Refuser rwx autorisation pour le groupe et les autres)

La sortie de ls -al après la commande chmod ci-dessus se présente comme suit:

dr-------- 2 user user 4096 Dec 17 14:38 Work

Octal format: chmod 444 Work

La sortie de ls -al après la commande chmod ci-dessus doit se présenter comme suit:

dr--r--r-- 2 user user 4096 Dec 17 14:38 Work

octal tableau montrant l’équivalent numérique pour les autorisations ci-dessous.,

Autorisations de Fichiers Supplémentaires

En plus de la plupart des communes de lire/écrire/exécuter le fichier des autorisations, il y a quelques modes supplémentaires que vous pourriez trouver utile, en particulier l’ +t mode (sticky bit) et le +mode s (bit setuid). Ces fonctions décrivent le comportement des fichiers et des exécutables dans des situations multi-utilisateurs.,

lorsqu’il est défini sur un répertoire, le mode sticky bit, ou +t, signifie que seul le propriétaire (ou root) peut supprimer ou renommer des fichiers dans ce répertoire, quels que soient les utilisateurs qui ont accès en écriture au répertoire par appartenance à un groupe ou propriété. Cela est utile lorsqu’un répertoire est détenue par un groupe par lequel un certain nombre d’utilisateurs de partager l’accès en écriture à un ensemble de fichiers.,

Il est important de noter que la définition du BIT collant sur un fichier n’empêche pas un utilisateur disposant d’autorisations d’écriture sur le répertoire englobant de supprimer ou de renommer le fichier—le bit collant doit être défini sur le répertoire englobant. Le bit collant n’a aucune fonction sur les systèmes Linux modernes lorsqu’il est défini sur des fichiers.

Pour définir le sticky bit sur un répertoire nommé /root/sticky, exécutez la commande suivante:

chmod +t /root/sticky

Pour supprimer le sticky bit à partir d’un fichier ou d’un répertoire, utilisez la balise chmod -t commande., Remarque, pour changer le bit collant, vous devez être root ou le propriétaire du fichier/répertoire. L’utilisateur root peut supprimer les répertoires et les fichiers qu’il contient, quel que soit l’état du bit collant.

Le bit setuid ou +s, lorsqu’elle est définie sur fichiers permet aux utilisateurs avec des autorisations pour exécuter un fichier donné la possibilité d’exécuter ce fichier avec les permissions de fichier propriétaire., Par exemple, si le fichier work était la propriété de la balise root utilisateur et le marketing groupe, les membres de la balise marketing groupe pourrait exécuter le work programme comme si elles étaient la racine de l’utilisateur. Cela peut poser des risques de sécurité potentiels dans certains cas et les exécutables doivent être correctement évalués avant de recevoir l’indicateur+s., Pour définir la balise +s bit sur un fichier nommé /usr/bin/work, exécutez la commande suivante:

chmod g+s /usr/bin/work

En revanche pour le +mode s pour le propriétaire d’un fichier, l’effet de l’ +s mode sur un répertoire est quelque peu différente. Les fichiers créés dans les répertoires + S reçoivent la propriété de l’utilisateur et du groupe de ce répertoire, plutôt que la propriété de l’utilisateur qui a créé le fichier et de leur groupe par défaut., Pour définir la setguid (groupe id) option sur un répertoire, utilisez la commande suivante:

chmod g+s /var/doc-store/

Pour définir le bit setuid (id utilisateur) pour un répertoire nommé /var/doc-store, exécutez la commande suivante:

chmod u+s /var/doc-store/

le Changement de Propriété de Fichier

Par défaut, tous les fichiers sont « possédés” par l’utilisateur qui les crée et par utilisateur par défaut du groupe. Pour modifier la propriété d’un fichier, utilisez la commande chown au format chown user:group /path/to/file. Dans l’exemple suivant, la propriété de la liste ».,le fichier html” est remplacé par l’utilisateur « cjones « du groupe” marketing »:

chown cjones:marketing list.html

pour changer la propriété d’un répertoire et de tous les fichiers qu’il contient, utilisez l’option récursive avec l’indicateur -R. Dans l’exemple suivant, remplacez la propriété de /srv/smb/leadership/ par l’utilisateur” cjones « du groupe” marketing »:

chown -R cjones:marketing /srv/smb/leadership/

tirant parti des utilisateurs et groupes Linux

dans de nombreux cas, les autorisations utilisateur sont utilisées pour fournir à votre système une plus grande sécurité sans aucune interaction directe., De nombreux systèmes d’exploitation créent des comptes d’utilisateur système spécifiques pour différents packages pendant le processus d’installation.

La meilleure pratique consiste à donner à chaque utilisateur de leur propre connexion à votre système. Cela protège les fichiers de chaque utilisateur de tous les autres utilisateurs. De plus, l’utilisation de comptes spécifiques pour les utilisateurs permet une journalisation système plus précise, en particulier lorsqu’elle est combinée avec des outils tels que sudo. Nous vous recommandons d’éviter les situations où plus d’une personne connaît le mot de passe d’un compte utilisateur pour une sécurité maximale.,

en revanche, les groupes sont utiles pour permettre à plusieurs comptes d’utilisateurs indépendants de collaborer et de partager des fichiers. Si vous créez des groupes sur une machine pour des tâches communes sur une base par tâche (par exemple, éditeurs web, contributeurs, émetteurs de contenu, support) et ajoutez des utilisateurs pertinents aux groupes pertinents, ces utilisateurs peuvent tous Modifier et exécuter le même ensemble de fichiers sans partager ces fichiers avec le monde. L’utilisation de la commandechown avec des autorisations de fichier de 770 et 740 aiderait à atteindre cet objectif.

Author: admin

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *