Dans un article précédent, nous vous avons montré comment créer un répertoire partagé sous Linux. Ici, nous décrirons comment donner un accès en lecture/écriture à un utilisateur sur un répertoire spécifique sous Linux.
Il existe deux méthodes possibles pour ce faire :la première consiste à utiliser les ACL (Access Control Lists) et la seconde à créer des groupes d'utilisateurs pour gérer les autorisations de fichiers, comme expliqué ci-dessous.
Pour les besoins de ce didacticiel, nous utiliserons la configuration suivante.
Operating system: CentOS 7 Test directory: /shares/project1/reports Test user: tecmint Filesystem type: Ext4
Assurez-vous que toutes les commandes sont exécutées en tant qu'utilisateur root ou utilisez la commande sudo avec des privilèges équivalents.
Commençons par créer le répertoire appelé reports
en utilisant le mkdir commande :
# mkdir -p /shares/project1/reports
Utilisation d'ACL pour donner un accès en lecture/écriture à l'utilisateur sur le répertoire
Important :Pour utiliser cette méthode, assurez-vous que votre type de système de fichiers Linux (tel que Ext3 et Ext4, NTFS, BTRFS) prend en charge les ACL.
1. Tout d'abord, vérifiez le type de système de fichiers actuel sur votre système, et également si le noyau prend en charge ACL comme suit :
# df -T | awk '{print $1,$2,$NF}' | grep "^/dev" # grep -i acl /boot/config*
D'après la capture d'écran ci-dessous, le type de système de fichiers est Ext4 et le noyau prend en charge les ACL POSIX comme indiqué par CONFIG_EXT4_FS_POSIX_ACL=y option.


2. Ensuite, vérifiez si le système de fichiers (partition) est monté avec ACL choix ou non :
# tune2fs -l /dev/sda1 | grep acl


À partir de la sortie ci-dessus, nous pouvons voir que l'option de montage par défaut prend déjà en charge ACL . Si au cas où il n'est pas activé, vous pouvez l'activer pour la partition particulière (/dev/sda3 pour ce cas):
# mount -o remount,acl / # tune2fs -o acl /dev/sda3
3. Maintenant, il est temps d'attribuer un accès en lecture/écriture à un utilisateur tecmint
dans un répertoire spécifique appelé reports
en exécutant les commandes suivantes.
# getfacl /shares/project1/reports # Check the default ACL settings for the directory # setfacl -m user:tecmint:rw /shares/project1/reports # Give rw access to user tecmint # getfacl /shares/project1/reports # Check new ACL settings for the directory


Dans la capture d'écran ci-dessus, l'utilisateur tecmint
a maintenant les permissions de lecture/écriture (rw) sur le répertoire /shares/project1/reports comme on le voit à partir de la sortie du deuxième getfacl commande.
Pour plus d'informations sur les listes ACL, consultez nos guides suivants.
- Comment utiliser les ACL (listes de contrôle d'accès) pour configurer les quotas de disque pour les utilisateurs/groupes
- Comment utiliser les ACL (listes de contrôle d'accès) pour monter des partages réseau
Voyons maintenant la deuxième méthode d'attribution d'un accès en lecture/écriture à un répertoire.
Utiliser des groupes pour accorder un accès en lecture/écriture à l'utilisateur sur l'annuaire
1. Si l'utilisateur a déjà un groupe d'utilisateurs par défaut (normalement avec le même nom que le nom d'utilisateur), changez simplement le propriétaire du groupe du répertoire.
# chgrp tecmint /shares/project1/reports
Vous pouvez également créer un nouveau groupe pour plusieurs utilisateurs (qui recevront des autorisations de lecture/écriture sur un répertoire spécifique), comme suit. Cependant, cela créera un répertoire partagé :
# groupadd projects
2. Ajoutez ensuite l'utilisateur tecmint
au groupe projects
comme suit :
# usermod -aG projects tecmint # add user to projects # groups tecmint # check users groups
3. Remplacez le groupe propriétaire du répertoire par projets :
# chgrp projects /shares/project1/reports
4. Définissez maintenant l'accès en lecture/écriture pour les membres du groupe :
# chmod -R 0760 /shares/projects/reports # ls -l /shares/projects/ #check new permissions
C'est ça! Dans ce tutoriel, nous vous avons montré comment donner un accès en lecture/écriture à un utilisateur sur un répertoire spécifique sous Linux. En cas de problème, demandez via la section des commentaires ci-dessous.