Maison  >  Article  >  Tutoriel système  >  Gérez les utilisateurs via des groupes d'utilisateurs dans les systèmes Linux !

Gérez les utilisateurs via des groupes d'utilisateurs dans les systèmes Linux !

王林
王林avant
2024-02-22 09:07:22883parcourir

Sous Linux, cela est tout à fait réalisable. Mais vous devez d'abord comprendre comment gérer les utilisateurs via des groupes d'utilisateurs et des listes de contrôle d'accès (ACL).
Nous commencerons par des utilisateurs simples et progresserons jusqu'à des listes de contrôle d'accès (ACL) complexes. Vous pouvez faire tout ce que vous devez faire dans la distribution Linux de votre choix. Cet article se concentre sur les groupes d'utilisateurs, les connaissances de base sur les utilisateurs ne seront donc pas couvertes.

À des fins de démonstration, je supposerai :

Vous devez créer deux nouveaux utilisateurs avec les deux noms d'utilisateur suivants :

  • olivia
  • nathan

Vous devez créer les deux groupes d'utilisateurs suivants :

  • lecteurs
  • éditeurs

olivia appartient au groupe des éditeurs et Nathan appartient au groupe des lecteurs. Le groupe d'utilisateurs Lecteur dispose uniquement d'autorisations de lecture sur le répertoire /DATA, tandis que le groupe d'utilisateurs Editeurs dispose d'autorisations de lecture et d'écriture sur le répertoire /DATA. Certes, il s'agit d'une très petite tâche, mais elle vous fournira les informations de base et vous pourrez étendre cette tâche pour répondre à vos autres besoins plus importants.

Je ferai une démonstration sur la plateforme serveur Ubuntu 16.04. Ces commandes sont courantes, la seule différence est que si vous n'utilisez pas la commande sudo dans votre distribution, vous devez passer en utilisateur root pour exécuter ces commandes.

Créer un utilisateur

La première chose que nous devons faire est de créer deux utilisateurs pour notre expérience. Vous pouvez utiliser la commande useradd pour créer un utilisateur. Nous ne créons pas simplement un utilisateur, mais nous devons également créer l'utilisateur et son répertoire personnel, puis définir un mot de passe pour lui.

sudo useradd -m olivia
sudo useradd -m nathan

Nous avons maintenant créé deux utilisateurs, et si vous regardez dans le répertoire /home, vous pouvez trouver leurs répertoires personnels (car nous avons utilisé l'option -m, nous pouvons créer leurs répertoires personnels en même temps que l'utilisateur est créé.

Après cela, nous pouvons leur définir un mot de passe avec la commande suivante :

sudo passwd olivia
sudo passwd nathan

Ça y est, nous avons créé deux utilisateurs.

Créez des groupes d'utilisateurs et ajoutez des utilisateurs

Nous allons maintenant créer les groupes d'utilisateurs de lecteurs et d'éditeurs et y ajouter des utilisateurs. La commande pour créer un groupe d'utilisateurs est :

addgroup readers
addgroup editors

(Traduction LCTT : lorsque vous utilisez certaines distributions Linux telles que CentOS, le système peut ne pas avoir la commande addgroup. Il est recommandé d'utiliser la commande groupadd pour remplacer la commande addgroup pour obtenir le même effet)
Linux 系统中通过用户组管理用户!

Figure 1 : Nous pouvons utiliser le nouveau groupe d'utilisateurs que nous venons de créer.

Après avoir créé les groupes d'utilisateurs, nous devons ajouter nos utilisateurs à ces deux groupes d'utilisateurs. Nous utilisons la commande suivante pour ajouter l'utilisateur nathan au groupe d'utilisateurs des lecteurs :

sudo usermod -a -G readers nathan

Ajoutez Olivia au groupe des éditeurs à l'aide de la commande suivante :

sudo usermod -a -G editors olivia

Nous pouvons désormais gérer les utilisateurs via des groupes d'utilisateurs.

Accorder des autorisations de répertoire aux groupes d'utilisateurs

Supposons que vous ayez un répertoire /READERS et autorisez tous les membres du groupe de lecteurs à accéder à ce répertoire. Tout d'abord, nous exécutons la commande suivante pour changer le groupe d'utilisateurs auquel appartient le répertoire :

sudo chown -R :readers /READERS

Ensuite, exécutez la commande suivante pour révoquer les autorisations d'écriture du groupe d'utilisateurs auquel appartient le répertoire :

sudo chmod -R g-w /READERS

Ensuite, nous exécutons la commande suivante pour révoquer les droits d'accès des autres utilisateurs à ce répertoire (pour empêcher tout utilisateur qui n'est pas dans le groupe des lecteurs d'accéder aux fichiers de ce répertoire) :

sudo chmod -R o-x /READERS

Pour le moment, seuls le propriétaire du répertoire (root) et les utilisateurs du groupe d'utilisateurs reader peuvent accéder aux fichiers dans /READES.

Supposons que vous ayez un répertoire /EDITORS. Vous devez accorder aux membres du groupe d'utilisateurs des autorisations de lecture et d'écriture sur ce répertoire. Afin d'atteindre cet objectif, il est nécessaire d'exécuter les commandes suivantes :

sudo chown -R :editors /EDITORS
sudo chmod -R g+w /EDITORS
sudo chmod -R o-x /EDITORS

À ce stade, tous les membres du groupe d'utilisateurs des éditeurs peuvent accéder et modifier les fichiers qu'il contient. Sinon, aucun autre utilisateur (sauf root) ne peut accéder aux fichiers de /EDITORS.

Le problème avec cette méthode est que vous ne pouvez gérer qu'un seul groupe et un seul répertoire à la fois. C'est là que les listes de contrôle d'accès (ACL) sont utiles.

Utilisez les listes de contrôle d'accès (ACL)

现在,让我们把这个问题变得棘手一点。假设你有一个目录 /DATA 并且你想给 readers 用户组的成员读取权限,并同时给 editors 用户组的成员读和写的权限。为此,你必须要用到 setfacl 命令。setfacl 命令可以为文件或文件夹设置一个访问控制表(ACL)。

这个命令的结构如下:

setfacl OPTION X:NAME:Y /DIRECTORY

其中 OPTION 是可选选项,X 可以是 u(用户)或者是 g (用户组),NAME 是用户或者用户组的名字,/DIRECTORY 是要用到的目录。我们将使用 -m 选项进行修改。因此,我们给 readers 用户组添加读取权限的命令是:

sudo setfacl -m g:readers:rx -R /DATA

现在 readers 用户组里面的每一个用户都可以读取 /DATA 目录里的文件了,但是他们不能修改里面的内容。

为了给 editors 用户组里面的用户读写权限,我们执行了以下命令:

sudo setfacl -m g:editors:rwx -R /DATA

上述命令将赋予 editors 用户组中的任何成员读取权限,同时保留 readers 用户组的只读权限。

更多的权限控制

使用访问控制表(ACL),你可以实现你所需的权限控制。你可以添加用户到用户组,并且灵活地控制这些用户组对每个目录的权限以达到你的需求。如果想了解上述工具的更多信息,可以执行下列的命令:

  • man usradd
  • man addgroup
  • man usermod
  • man sefacl
  • man chown
  • man chmod

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer