Access control list (ACL) gir en ekstra, mer fleksibel tillatelse mekanisme for filsystemer. Det er utformet for å hjelpe med UNIX-fil tillatelser. ACL kan du gi tillatelser for en hvilken som helst bruker eller gruppe, til hvilken som helst disk ressurs.
Installasjon
acl-pakken er en avhengighet av systemd, det skal allerede være installert.
Aktiver ACL
for Å aktivere ACL, filsystemet må være montert med acl
alternativ. Du kan bruke fstab å gjøre det permanent på systemet.,
Det er en mulighet for at acl
alternativet er aktiv som standard mount alternativet på filsystemet. Btrfs gjør, og er et Ext2/3/4 filsystemer gjøre også. Bruk følgende kommando for å kontrollere ext* formaterte partisjoner for alternativ:
# tune2fs -l /dev/sdXY | grep "Standard mount valg:"
Standard mount valg: user_xattr acl
sjekk Også at standard mount alternativet er ikke overstyres, i slike tilfelle vil du se noacl
i /proc/mounts
i den aktuelle linjen.,
Du kan angi standard mount valg av et filsystem med tune2fs -o option partition
– kommandoen, for eksempel:
# tune2fs -o acl /dev/sdXY
ved Hjelp av standard mount valg i stedet for en oppføring i /etc/fstab
er svært nyttig for eksterne harddisker, slik partisjon vil være montert med acl
alternativ også på andre Linux-maskiner. Det er ingen grunn til å redigere /etc/fstab
på hver maskin.
-
acl
er angitt som standard mount alternativet når du oppretter et ext2/3/4 filsystem., Dette er konfigurert i/etc/mke2fs.conf
. - standard mount valg er ikke oppført i
/proc/mounts
.
– Bruk
Angi ACL
ACL kan endres ved hjelp av de setfacl kommando.
--test
flagg.,
Hvis du vil angi tillatelser for andre:
# setfacl -m "other:permissions" <file/dir>
for Å tillate alle nyopprettede filer eller kataloger til arve oppføringer fra den overordnede mappen (dette vil ikke påvirke filer som kopieres til katalogen):
# setfacl -dm "entry" <dir>
for Å fjerne en oppføring:
# setfacl -x "entry" <file/dir>
for Å fjerne standard oppføringer:
# setfacl -k <file/dir>
for Å fjerne alle oppføringene i oppføringer av eier, gruppe og andre er beholdt):
# setfacl -b <file/dir>
Den faktiske nøyaktigheten av denne artikkelen eller seksjonen er omstridt.,
--mask
alternativet (som ble tatt fra setfacl(1)) ble bestemt som unøyaktig, men det nye notatet synes ikke riktig heller. Se snakke side for detaljer. (Drøft i Talk:tilgangskontroll#ACL maske oppføring)--mask
oppføringen ble eksplisitt gitt. Denne oppføringen angir den maksimale tillatelsene for brukere (andre enn eieren) og for grupper., Med mindre annet er uttrykkelig angitt, dette vil være i samsvar med tillatelser på standardgruppen. For å klargjøre hva dette betyr, la oss anta at den gruppen som eier en katalog har r-x tillatelser. Hvis du vil legge til en ACL bruker eller gruppe med der rettighetene står tillatelser, effektiv tillatelser for brukeren eller gruppen vil være r-x. Grunnen til dette er at det er ingen overraskelser når en fil fra et system som ikke støtter Acl er gjort tilgjengelig på et system som gjør..-R
argument.,c
# fil: abc# eier: noen# gruppe: someoneuser::rw-bruker:johnny:r-xgroup::r--maske::r-xother::r--
Fjern alle ACL entries:
# setfacl -b abc
Sjekk innstillingene:
# getfacl abc
# fil: abc# eier: noen# gruppe: someoneuser::rw-konsern::r--andre::r--
Output av ls-kommandoen
Du vil merke at det er en ACL for en gitt fil, fordi det vil vise en +
(plusstegnet) etter sin Unix tillatelser i utdataene fra ls -l
.,
$ ls -l /dev/audio
crw-rw----+ 1 root audio 14, 4 nov. 9 12:49 /dev/audio
$ getfacl /dev/audio
Tildeling av tillatelser for gjennomføring private filer til en web-server
følgende teknikk beskriver hvordan en prosess som en web-server kan gis tilgang til filer som ligger i en brukers hjemmekatalog, uten å svekke sikkerheten ved å gi hele verden tilgang.,
I det følgende antar vi at det web server kjører som brukeren http
og gi det tilgang til geoffrey
‘s home directory /home/geoffrey
.
Det første trinnet er å gi gjennomføring tillatelser for brukeren http
:
# setfacl -m "u:http:--x" /home/geoffrey
Siden det er brukeren som http
er nå i stand til å få tilgang til filer i /home/geoffrey
, andre ikke lenger trenger tilgang:
# chmod o-rx /home/geoffrey
Bruk getfacl
for å bekrefte endringene:
$ getfacl /hjem/geoffrey
Som den ovenfor utgang viser, other
‘s ikke lenger har noen rettigheter, men brukeren http
er fortsatt i stand til å få tilgang til filene, og dermed sikkerhet som kan betraktes som økt.,
Se også:
- getfacl(1)
- setfacl(1)
- POSIX av tilgangskontroll på Linux
- Hvordan for å angi standard fil tillatelser for alle mapper/filer i en katalog?
Leave a Reply