Toegangscontrolelijst (ACL) biedt een extra, flexibeler machtigingsmechanisme voor bestandssystemen. Het is ontworpen om te helpen met Unix-bestandsmachtigingen. Met ACL kunt u voor elke gebruiker of groep machtigingen geven aan elke schijfbron.
installatie
het ACL pakket is een afhankelijkheid van systemd, het zou al geïnstalleerd moeten zijn.
ACL inschakelen
om ACL in te schakelen, moet het bestandssysteem worden aangekoppeld met de optie acl
. U kunt fstab gebruiken om het permanent te maken op uw systeem.,
Er is een mogelijkheid dat deacl
optie al actief is als standaard mount optie op het bestandssysteem. Btrfs wel en Ext2 / 3 / 4 bestandssystemen ook. Gebruik het volgende commando om ext* geformatteerde partities te controleren voor de optie:
# tune2fs-l /dev/sdXY | grep "Default mount options:"
Default mount options: user_xattr acl
controleer ook of de standaard mount optie niet wordt overschreven, in zo ‘ n geval zie noacl
In /proc/mounts
in de betreffende regel.,
U kunt het standaard mount opties van een bestandssysteem met behulp van de tune2fs -o option partition
commando, bijvoorbeeld:
# tune2fs -o acl /dev/sdXY
met Behulp van de standaard mount opties in plaats van een regel in /etc/fstab
is erg handig voor externe harde schijven, deze partitie wordt aangekoppeld met een acl
optie ook op andere Linux-machines. Het is niet nodig om /etc/fstab
op elke machine te bewerken.
-
acl
wordt opgegeven als standaard mount optie bij het maken van een ext2/3/4 bestandssysteem., Dit wordt geconfigureerd in/etc/mke2fs.conf
. - de standaard mount opties staan niet vermeld in
/proc/mounts
.
Usage
Set ACL
de ACL kan worden gewijzigd met het commando setfacl.
--test
vlag toe te voegen.,
Voor het instellen van machtigingen voor anderen:
# setfacl -m "other:permissions" <file/dir>
Om alle nieuw gemaakte bestanden of mappen om te erven van vermeldingen uit de bovenliggende map (dit heeft geen invloed op bestanden die worden gekopieerd naar de map):
# setfacl -dm "entry" <dir>
Voor het verwijderen van een specifieke invoer:
# setfacl -x "entry" <file/dir>
Om de standaard entries:
# setfacl -k <file/dir>
Voor het verwijderen van alle items (de items van de eigenaar, groep en anderen worden bewaard):
# setfacl -b <file/dir>
De feitelijke juistheid van dit artikel of sectie is betwist.,
--mask
optie (die werd overgenomen van setfacl(1)) werd vastgesteld als onnauwkeurig, maar de nieuwe notitie lijkt ook niet correct. Zie de overlegpagina voor meer informatie. (Bespreken in Talk:Access Control Lists#ACL mask entry)--mask
entry expliciet werd gegeven. De ingang mask geeft de maximale machtigingen aan die zijn toegestaan voor gebruikers (anders dan de eigenaar) en voor groepen., Tenzij expliciet ingesteld, komt dit overeen met de machtigingen van de standaardgroep. Om te verduidelijken wat dit betekent, stel dat de groep die een map bezit r-x rechten heeft. Als je een ACL gebruiker of groep toevoegt met rwx permissies, zullen de effectieve permissies van deze gebruiker of groep r-X zijn. de reden hiervoor is dat er geen verrassingen zijn wanneer een bestand van een systeem dat geen ACLs ondersteunt beschikbaar wordt gesteld op een systeem dat dat wel doet..-R
toe.,c
# bestand: abc# eigenaar: iemand# groep: someoneuser::rw-gebruiker:johnny:r-xgroup::r--masker::r-xother::r--
Verwijder alle ACL:
# setfacl -b abc
Controleer de machtigingen:
# hulpprogramma ' s getfacl abc
# bestand: abc# eigenaar: iemand# groep: someoneuser::rw-groep::r--andere::r--
Output van ls commando
U zult merken dat er een ACL voor een bepaald bestand omdat het bestand zal vertonen een +
(plus teken) na de Unix rechten in de output van ls -l
.,
$ ls-l / dev/audio
crw-rw----+ 1 root audio 14, 4 nov. 9 12: 49/dev/audio
$ getfacl/dev/audio
uitvoerrechten verlenen voor privébestanden aan een webserver
de volgende techniek beschrijft hoe een proces als een webserver toegang kan krijgen tot bestanden die zich in de persoonlijke map van een gebruiker bevinden, zonder de beveiliging in gevaar te brengen door de hele wereld toegang te geven.,
in het volgende gaan we ervan uit dat de webserver draait als de gebruiker http
en geef het toegang tot geoffrey
’s thuismap /home/geoffrey
.
de eerste stap is het verlenen van uitvoerrechten voor de gebruiker http
:
# setfacl -m "u:http:--x" /home/geoffrey
aangezien de gebruiker http
nu toegang heeft tot bestanden in /home/geoffrey
, hebben anderen geen toegang meer nodig:
# chmod o-rx /home/geoffrey
gebruik getfacl
om de wijzigingen te verifiëren:
$ getfacl /Home/Geoffrey
zoals de bovenstaande uitvoer laat zien, hebben other
geen rechten meer, maar de gebruiker http
heeft nog steeds toegang tot de bestanden, dus de beveiliging kan als verhoogd worden beschouwd.,
zie ook
- getfacl(1)
- setfacl (1)
- POSIX Access Control Lists on Linux
- Hoe stel ik standaard bestandsmachtigingen in voor alle mappen/bestanden in een map?
Leave a Reply