GeeksforGeeks

Wat is ACL ?
Access control list (ACL) biedt een extra, meer flexibel toestemmingsmechanisme voor bestandssystemen. Het is ontworpen om te helpen met UNIX bestandspermissies. ACL staat je toe om permissies te geven aan elke gebruiker of groep voor elke disk resource.

Gebruik van ACL :
Denk aan een scenario waarin een bepaalde gebruiker geen lid is van een groep die door jou is aangemaakt, maar je wilt toch lees- of schrijftoegang geven, hoe kun je dat doen zonder de gebruiker lid te maken van een groep, hier komt in beeld Access Control Lists, ACL helpt ons om deze truc uit te halen.

Basically, ACLs worden gebruikt om een flexibel toestemmingsmechanisme in Linux te maken.

Vanuit de Linux man pages, worden ACL’s gebruikt om meer verfijnde discretionaire toegangsrechten voor bestanden en directories te definiëren.

setfacl en getfacl worden gebruikt om respectievelijk ACL op te zetten en ACL te tonen.

Voorbeeld :

getfacl test/declarations.h

Uitvoer:

# file: test/declarations.h# owner: mandeep# group: mandeepuser::rw-group::rw-other::r--

Lijst met commando’s voor het instellen van ACL :

1) To add permission for usersetfacl -m "u:user:permissions" /path/to/file2) To add permissions for a groupsetfacl -m "g:group:permissions" /path/to/file 3) To allow all files or directories to inherit ACL entries from the directory it is withinsetfacl -dm "entry" /path/to/dir4) To remove a specific entrysetfacl -x "entry" /path/to/file5) To remove all entriessetfacl -b path/to/file

Voorbeeld :

setfacl -m u:mandeep:rwx test/declarations.h

Wijziging van ACL met setfacl :
Om rechten voor een gebruiker toe te voegen (gebruiker is ofwel de gebruikersnaam of de ID):

# setfacl -m "u:user:permissions" 

Om rechten voor een groep toe te voegen (groep is de naam van de groep of de ID):

# setfacl -m "g:group:permissions" 

Om toe te staan dat alle bestanden of mappen ACL-regels erven van de map waarin ze zich bevinden:

# setfacl -dm "entry" 

Voorbeeld :

setfacl -m u:mandeep:r-x test/declarations.h

Zie de onderstaande afbeelding voor de uitvoer :

setfacl en getfacl

Bekijk ACL :
Om machtigingen te tonen :

# getfacl filename

Bekijk het verschil tussen de uitvoer van het commando getfacl voor en na het instellen van ACL-machtigingen met het commando setfacl.
Er is een extra regel toegevoegd voor gebruiker mandeep, die is gemarkeerd in bovenstaande afbeelding.

Uitvoer:

wijzig machtigingen

Het bovenstaande commando wijzigt de machtigingen van rwx in r-x

Verwijder ACL :
Als u de ingestelde ACL-machtigingen wilt verwijderen, gebruikt u het commando setfacl met de optie -b.
Voorbeeld :

verwijder ingestelde permissies

Als je de uitvoer van getfacl commando vergelijkt voor en na het gebruik van setfacl commando met -b optie, kun je zien dat er geen specifieke entry is voor gebruiker mandeep in de latere uitvoer.

Je kunt ook controleren of er extra permissies zijn ingesteld via ACL met behulp van ls commando.

check set acl with ls

Zie de eerste opdracht in de afbeelding, er staat een extra “+”-teken achter de machtigingen zoals -rw-rwxr-+, dit geeft aan dat er extra ACL-machtigingen zijn ingesteld die je kunt controleren met het commando getfacl.

De standaard ACL gebruiken :
De standaard ACL is een specifiek type permissies toegewezen aan een directory, dat de permissies van de directory zelf niet verandert, maar ervoor zorgt dat gespecificeerde ACL’s standaard worden ingesteld op alle bestanden die erin worden aangemaakt. Laten we het demonstreren: eerst gaan we een directory maken en er een standaard ACL aan toewijzen door de -d optie te gebruiken:

$ mkdir test && setfacl -d -m u:dummy:rw test
Artikel Tags :

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.