Access Control list (ACL) giver en ekstra, mere fleksibel tilladelse mekanisme til filsystemer. Det er designet til at hjælpe med UNI. – filtilladelser. ACL giver dig mulighed for at give tilladelser til enhver bruger eller gruppe til enhver diskressource.
Installation
acl-pakken er en afhængighed af systemd, den skal allerede være installeret.
Aktiv ACR ACL
for at aktivere ACL skal filsystemet monteres med indstillingenacl
. Du kan bruge fstab til at gøre det permanent på dit system.,
Der er en mulighed for, at acl
allerede er aktiv som standardmonteringsindstilling på filsystemet. Btrfs gør og e .t2/3 / 4 filsystemer gør også. Brug følgende kommando til at tjekke ext* formateret partitioner for indstilling:
# tune2fs -l /dev/sdXY | grep "Standard mount-indstillinger:"
Standard mount-indstillinger: user_xattr acl
kontrollér Også, at den standard monteret option ikke tilsidesættes, i sådanne tilfælde vil du se noacl
i /proc/mounts
i den relevante linje.,
Du kan indstille standard mount valg af et filsystem ved hjælp af tune2fs -o option partition
kommando, for eksempel:
# tune2fs -o acl /dev/sdXY
ved Hjælp af standard mount muligheder i stedet for en post i /etc/fstab
er meget nyttigt for eksterne drev, en sådan partition vil blive monteret med acl
valg også på andre Linux-maskiner. Det er ikke nødvendigt at redigere /etc/fstab
på hver maskine.
Bemærk:
-
acl
er angivet som standard monteret option, når du opretter en ext2/3/4-filsystem., Dette er konfigureret i/etc/mke2fs.conf
. - standardmonteringsmulighederne er ikke angivet i
/proc/mounts
.
anvendelse
Indstil ACL
ACL kan ændres ved hjælp af kommandoen setfacl.
--test
flag.,
for At indstille tilladelser for andre:
# setfacl -m "other:permissions" <file/dir>
for At tillade, at alle nyoprettede filer eller mapper til at arve elementer fra den overordnede mappe (dette påvirker ikke filer, der skal kopieres til den mappe):
# setfacl -dm "entry" <dir>
for At fjerne en specifik indtastning:
# setfacl -x "entry" <file/dir>
for At fjerne standard poster:
# setfacl -k <file/dir>
for At fjerne alle poster (poster af ejer, gruppe og andre, der er bevaret):
# setfacl -b <file/dir>
Den faktiske nøjagtigheden af denne artikel eller sektion er omstridt.,
--mask
option (som blev taget fra setfacl(1)) blev bestemt som upræcise, men det nye bemærk synes ikke korrekte, enten. Se diskussionssiden for detaljer. (Diskuter i tale: adgangskontrollister#ACL-maskeindtastning) --mask
indtastning blev eksplicit givet. Maskeindtastningen angiver de maksimale tilladelser, der er tilladt for brugere (bortset fra ejeren) og for grupper., Medmindre det udtrykkeligt er angivet, vil dette matche tilladelserne for standardgruppen. For at afklare, hvad dette betyder, Antag, at gruppen, der ejer en mappe, har R -. – tilladelser. Hvis du tilføjer en ACL-bruger eller-gruppe med rwx tilladelser, effektiv tilladelser af denne bruger eller gruppe f-x. Grunden til dette er, at der ikke er nogen overraskelser, når en fil fra et system, der ikke understøtter Acl ‘ er er gjort tilgængelige på et system, der gør..Tip: Hvis du vil anvende operationer på alle filer og mapper rekursivt, skal du tilføje argumentet -R
.,c
# fil: abc# ejer: en person# gruppe: someoneuser::rw-bruger:johnny:r-xgroup::r--maske::r-xother::r--
Fjern alle ACL-angivelser:
# setfacl -b abc
Check tilladelser:
# getfacl-abc
# fil: abc# ejer: en person# gruppe: someoneuser::rw-gruppen::r--andre::r--
Output af kommandoen ls
Du vil bemærke, at der er en ACL-liste for en given fil, fordi det vil være en +
(plus-tegn) efter sin Unix-tilladelser i produktionen af ls -l
.,
$ ls -l /dev/audio
crw-rw----+ 1 root audio 14, 4 nov. 9 12:49 /dev/audio
$ getfacl /dev/audio
Tildeling udførelse af tilladelser til private filer til en web-server
følgende teknik, der beskriver, hvordan en proces som en web-server, kan få adgang til filer, der er placeret i en brugers home-mappe, uden at gå på kompromis med sikkerheden ved at give hele verden adgang.,
I det følgende antager vi, at web server kører som brugeren http
og give adgang til geoffrey
‘s hjemmemappe /home/geoffrey
.
Det første skridt er at indrømme udførelse tilladelser for brugeren http
:
# setfacl -m "u:http:--x" /home/geoffrey
, Da brugeren http
er nu i stand til at få adgang til filer i /home/geoffrey
, mens andre ikke længere har brug for adgang:
# chmod o-rx /home/geoffrey
Brug getfacl
for at bekræfte ændringer:
$ getfacl /home/geoffrey
Som ovenstående output viser, other
‘s ikke længere har nogen rettigheder, men brugeren http
er stadig i stand til at få adgang til de filer, således at sikkerhed, kan være øget.,
Se også
- getfacl(1)
- setfacl(1)
- POSIX Access Control Lister på Linux
- Sådan set default file permissions for alle mapper/filer i et bibliotek?
Leave a Reply