Comment utiliser les listes de contrôle d’accès pour contrôler les autorisations de fichiers sous Linux

Une fonctionnalité très utile de Linux est les « listes de contrôle d’accès » qui contrôlent l’accès aux fichiers et aux répertoires. Voici comment fonctionnent les listes de contrôle d’accès pour contrôler les autorisations de fichiers sous Linux.

Noter: Pour bien comprendre le fonctionnement des listes de contrôle d’accès, nous configurons d’abord certains utilisateurs et groupes sur un système Linux fonctionnel. L’exercice suivant est effectué sur une machine virtuelle exécutant le système d’exploitation Kali. L’utilisateur root a le pouvoir d’ajouter de nouveaux utilisateurs au système et de les répartir dans des groupes.

Création d’utilisateurs et de groupes

Tout d’abord, nous allons nous connecter en tant que root, créer des utilisateurs et les placer dans des groupes respectifs, comme indiqué dans le tableau ci-dessous. Les utilisateurs ont reçu des noms simples pour aider à mieux comprendre le concept.

Utilisateur Grouper
jean1
jean2
jean3
les clients
jane1
jane2
Jeanne

Nous utiliserons le adduser commande pour ajouter de nouveaux utilisateurs au système.

Les id La commande affichera les détails de l’utilisateur nouvellement créé. Il affichera l’identifiant de l’utilisateur (uid), l’identifiant du groupe (gid) et le nom du groupe (groups). L’utilisateur, lors de sa création, est automatiquement ajouté à un groupe portant le même nom que le nom d’utilisateur. Cet utilisateur serait le seul membre du groupe.

fichier linux Acl 2

De même, les utilisateurs « john2 » et « john3 » sont également créés.

Une fois les trois utilisateurs créés, utilisez leid pour afficher les identifiants d’utilisateur et de groupe respectifs.

ACL 5

Nous pouvons voir que les trois utilisateurs sont dans leurs propres groupes – 1000, 1001 et 1002. Selon le tableau ci-dessus, nous voulons que les trois utilisateurs soient dans le même groupe : johns. Puisqu’un tel groupe n’existe pas sur le système actuellement, nous allons le créer avec le groupadd commander:

ACL 7

Le nouvel ID de groupe est spécifié comme 5000. Si le -g commutateur est ignoré, le système choisira automatiquement un ID de groupe. Le nom du nouveau groupe est « johns ». Maintenant, les trois utilisateurs – « john1 », « john2 » et « john3 » – doivent être ajoutés en tant que membres de ce groupe. Nous utiliserons le usermod commande pour cette tâche.

usermod ajoute l’utilisateur « user_name » au groupe « group_name ». La figure suivante affiche d’abord l’uid et le gid pour « john1 » avant le changement de groupe. Après le usermod La commande s’exécute avec succès, « john1 » est ajouté au groupe « johns » avec gid 5000.

En relation :  Comment personnaliser, supprimer et organiser des photos dans des albums photo Facebook

Acl 8

Le même processus est effectué pour les utilisateurs « john2 » et « john3 ».

Enfin, les détails des trois utilisateurs du groupe « clients » peuvent être consultés à l’aide de id commander.

Acl 10

Nous avons réussi à créer trois utilisateurs et les avons ajoutés au même groupe.

De même, les utilisateurs « jane1 » et « jane2 » sont créés et ajoutés au groupe « janes » avec le gid 6000. Leurs détails peuvent être consultés en utilisant le id commande comme indiqué ci-dessous.

ACL 16

Quel est le besoin de listes de contrôle d’accès ?

Supposons que l’utilisateur « john1 » se connecte,

ACL 18

crée un nouveau fichier dans le répertoire Home,

ACL 19

et y ajoute du contenu.

Acl 20

En utilisant lels commande, nous visualisons les métadonnées du fichier.

ACL 22

Les premiers caractères de la sortie, - rw - r - - r - - compte de la chaîne d’autorisation. Décortiquons-le.

rw – r – – r – –
Type de fichier autorisations que john1 a sur le fichier autorisations que les membres du groupe johns ont sur le fichier autorisations accordées à d’autres personnes ne faisant pas partie du groupe de clients

Cet article est une bonne introduction aux autorisations de fichiers.

Que se passe-t-il si « john1 », étant le propriétaire du fichier, souhaite en plus accorder des autorisations d’écriture uniquement à « john2 » et « jane1 » mais persiste avec les autorisations de lecture pour « john3 » et « jane2 ? »

rw – r – –
jean1
jean2
jane1
jean3
jane2

Une option serait de créer un nouveau groupe avec des autorisations de lecture et d’écriture pour « john1 », « john2 » et « jane1 » et un autre groupe avec uniquement des autorisations de lecture pour « john3 » et « jane2 ». Dans le cas où john1 souhaite modifier davantage les autorisations pour un membre du groupe, d’autres groupes doivent être créés. La création et la gestion de plusieurs groupes est un fardeau pour l’administrateur système.

Au lieu de cela, une « liste de contrôle d’accès » peut être créée pour un fichier qui indiquerait clairement les opérations que tout utilisateur peut effectuer sur ce fichier.

Comment créer une liste de contrôle d’accès (ACL) pour un fichier ?

Chaque fichier lors de sa création a une ACL qui lui est assignée. L’utiliser efficacement est simplement une question de le modifier. Seuls le propriétaire du fichier et l’utilisateur root peuvent modifier l’ACL d’un fichier.

Nous pouvons utiliser le getfacl commande pour afficher la liste de contrôle d’accès existante :

ACL 31

Les lignes commençant par # sont des lignes de commentaires. Les informations réelles se trouvent dans les trois dernières lignes de sortie, ce qui est similaire à la chaîne d’autorisation obtenue précédemment. La ligne « utilisateur » fait référence aux autorisations attribuées au propriétaire du fichier « john1 ». La ligne « groupe » fait référence aux autorisations attribuées aux autres membres du groupe « clients ». Comme vous l’avez deviné, la ligne « autre » fait référence à toute autre personne en dehors du groupe.

En relation :  Comment obtenir les noyaux Linux 5.8 et 5.9 dans Debian 10

Utilisons le setfaclpour modifier l’ACL existante sur le fichier.

entité Nom autorisations
la valeur ici signifie à qui s’adresse l’entrée ACL :

utilisateur (u) ou groupe(g) ou autres(o)

le nom de l’utilisateur ou du groupe pour lequel l’entrée ACL est pertinente les autorisations de lecture, d’écriture et d’exécution sont désignées par les lettres r,w,x

« john2 » reçoit d’abord un accès en lecture et en écriture au fichier,

ACL 32

suivi de « jane1 ».

ACL 34

Voyons la liste de contrôle d’accès mise à jour pour « secretfile ».

ACL 35

Nous pouvons voir que des autorisations de lecture et d’écriture ont été attribuées à « john2 » et « jane1 ».

Vérification de l’authenticité de l’ACL

Nous pouvons voir que « john2 » est capable de lire le fichier et d’y écrire.

ACL 36

Les nouvelles informations saisies par « john2 » ont été ajoutées au fichier.

ACL 37

De même, « jane1 » obtient le même privilège – accès en lecture et accès en écriture.

ACL 41

Mais « john3 » dans le même groupe est incapable d’écrire dans le fichier.

ACL 40

« Jane2 », qui appartient à l’autre catégorie, est également incapable d’écrire dans le fichier.

ACL 45

Conclusion

Le même processus peut également être étendu aux répertoires. Les listes de contrôle d’accès permettent à un administrateur système de gérer l’accès aux fichiers et aux répertoires de manière appropriée.

Moyens Staff
Moyens I/O Staff vous a motivé, donner des conseils sur la technologie, le développement personnel, le style de vie et des stratégies qui vous aider.