Zoeken op website

Wijs lees-/schrijftoegang toe aan een gebruiker in een specifieke directory in Linux


In een vorig artikel hebben we u laten zien hoe u een gedeelde map in Linux kunt maken. Hier zullen we beschrijven hoe u lees-/schrijftoegang kunt geven aan een gebruiker in een specifieke map in Linux.

Er zijn twee mogelijke methoden om dit te doen: de eerste is het gebruik van ACL's (Access Control Lists) en de tweede is het creëren van gebruikersgroepen om bestandsrechten te beheren, zoals hieronder uitgelegd.

Voor het doel van deze zelfstudie gebruiken we de volgende instellingen.

Operating system: CentOS 7
Test directory: /shares/project1/reports 
Test user: tecmint
Filesystem type: Ext4

Zorg ervoor dat alle opdrachten worden uitgevoerd als rootgebruiker of gebruik de opdracht sudo met gelijkwaardige rechten.

Laten we beginnen met het maken van de map met de naam reports met behulp van de opdracht mkdir:

mkdir -p /shares/project1/reports   				

ACL gebruiken om lees-/schrijftoegang te geven aan de gebruiker in de directory

Belangrijk: als je deze methode wilt gebruiken, zorg er dan voor dat je Linux-bestandssysteemtype (zoals Ext3 en Ext4, NTFS, BTRFS) ACL's ondersteunt.

1. Controleer eerst het huidige bestandssysteemtype op uw systeem, en ook of de kernel ACL ondersteunt, als volgt:

df -T | awk '{print $1,$2,$NF}' | grep "^/dev"
grep -i acl /boot/config*

Uit de onderstaande schermafbeelding blijkt dat het bestandssysteemtype Ext4 is en dat de kernel POSIX ACL's ondersteunt, zoals aangegeven door de optie CONFIG_EXT4_FS_POSIX_ACL=y.

2. Controleer vervolgens of het bestandssysteem (partitie) is aangekoppeld met de ACL optie of niet:

tune2fs -l /dev/sda1 | grep acl

Uit de bovenstaande uitvoer kunnen we zien dat de standaard mount-optie al ondersteuning biedt voor ACL. Als het niet is ingeschakeld, kunt u het inschakelen voor de specifieke partitie (/dev/sda3 in dit geval):

mount -o remount,acl /
tune2fs -o acl /dev/sda3

3. Nu is het tijd om lees-/schrijftoegang toe te wijzen aan een gebruiker tecmint tot een specifieke map genaamd reports door de volgende opdrachten uit te voeren.

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

In de bovenstaande schermafbeelding heeft de gebruiker tecmint nu lees-/schrijfrechten (rw) voor de map /shares/project1/reports, zoals blijkt uit de uitvoer van de tweede getfacl-opdracht.

Raadpleeg onze volgende handleidingen voor meer informatie over ACL-lijsten.

  1. Hoe u ACL's (toegangscontrolelijsten) kunt gebruiken om schijfquota voor gebruikers/groepen in te stellen
  2. Hoe u ACL's (toegangscontrolelijsten) gebruikt om netwerkshares te koppelen

Laten we nu eens kijken naar de tweede methode voor het toewijzen van lees-/schrijftoegang aan een map.

Groepen gebruiken om lees-/schrijftoegang te geven aan gebruikers in de directory

1. Als de gebruiker al een standaardgebruikersgroep heeft (normaal gesproken met dezelfde naam als gebruikersnaam), wijzigt u eenvoudigweg de groepseigenaar van de directory.

chgrp tecmint /shares/project1/reports

U kunt ook als volgt een nieuwe groep maken voor meerdere gebruikers (die lees-/schrijfrechten krijgen voor een specifieke map). Hierdoor wordt echter een gedeelde map gemaakt:

groupadd projects

2. Voeg vervolgens de gebruiker tecmint als volgt toe aan de groep projecten:

usermod -aG projects tecmint	    # add user to projects
groups tecmint	            # check users groups

3. Wijzig de groepseigenaar van de directory in projecten:

chgrp	projects /shares/project1/reports

4. Stel nu lees-/schrijftoegang in voor de groepsleden:

chmod -R 0760 /shares/projects/reports
ls  -l /shares/projects/	    #check new permissions

Dat is het! In deze zelfstudie hebben we u laten zien hoe u lees-/schrijftoegang kunt geven aan een gebruiker in een specifieke map in Linux. Als er problemen zijn, kunt u dit stellen via het commentaargedeelte hieronder.