GNU/Linux >> Tutoriels Linux >  >> Linux

Attribuer un accès en lecture/écriture à un utilisateur sur un répertoire spécifique sous Linux

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.

  1. Comment utiliser les ACL (listes de contrôle d'accès) pour configurer les quotas de disque pour les utilisateurs/groupes
  2. 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.


Linux
  1. Comment extraire des fichiers tar dans un répertoire spécifique ou différent sous Linux

  2. Comment supprimer des comptes d'utilisateurs avec le répertoire personnel sous Linux

  3. Comment utiliser sudo pour attribuer un accès root à un utilisateur sur un serveur Linux

  4. Comment gérer les utilisateurs avec useradd sous Linux

  5. Linux - Exécuter Vs Lire Bit. Comment fonctionnent les autorisations de répertoire sous Linux ?

Créer un répertoire personnel pour un utilisateur existant sous Linux

Comment joindre un système Linux à un domaine Active Directory

Comment désactiver la connexion SSH à un utilisateur spécifique sous Linux

Comment restreindre l'accès SSH à certains utilisateurs sous Linux

Comment créer/ajouter des utilisateurs sous Linux

Bit d'exécution vs de lecture. Comment fonctionnent les autorisations de répertoire sous Linux ?