Startpagina > Pakket- en systeembeheer > setfacl

setfacl: Sett tilgangskontrollister (ACL) for filer

Kommandoen `setfacl` brukes til å sette tilgangskontrollister (ACL) for filer og kataloger. Utover den tradisjonelle Unix-rettighetsmodellen (eier, gruppe, andre), lar den deg gi eller fjerne detaljerte lese-, skrive- og utføringsrettigheter for spesifikke brukere eller grupper. Dette gjør det mulig å administrere komplekse rettighetskrav fleksibelt.

Oversikt

`setfacl` muliggjør mer fleksibel rettighetsadministrasjon for filsystemobjekter. Du kan individuelt gi eller fjerne lese-, skrive- og utføringsrettigheter for spesifikke brukere eller grupper, og du kan sette standard-ACL-er slik at nye filer eller kataloger automatisk arver ACL-er ved opprettelse. Dette er spesielt nyttig når du trenger detaljert rettighetsadministrasjon i et miljø der flere brukere deler ressurser.

Hovedfunksjoner

  • Individuell rettighetsinnstilling for spesifikke brukere/grupper
  • Standard (Default) ACL-innstilling og arv
  • Modifisering og fjerning av eksisterende ACL-er
  • Rekursiv (Recursive) rettighetspåføring

Hovedalternativer

`setfacl` lar deg kontrollere ACL-er med presisjon gjennom ulike alternativer. Her er noen av de mest brukte alternativene.

ACL-innstilling og modifisering

Fjerning av ACL

Annet

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`setfacl` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Eksempler på bruk

Viser ulike scenarier for å administrere ACL-er for filer og kataloger ved hjelp av `setfacl`-kommandoen.

Gi lese-/skrive-rettigheter til en spesifikk bruker

setfacl -m u:user1:rw testfile.txt

Gir lese- (r) og skrive- (w) rettigheter til brukeren `user1` for filen `testfile.txt`.

Gi kun lese-rettigheter til en spesifikk gruppe

setfacl -m g:groupA:r shared_dir

Gir lese- (r) rettigheter til gruppen `groupA` for katalogen `shared_dir`.

Sett standard (Default) ACL for en katalog

setfacl -m d:u:user2:rwx project_data

Setter standard ACL for katalogen `project_data` slik at brukeren `user2` får lese-/skrive-rettigheter for nye filer, og lese-/skrive-/utføringsrettigheter for nye kataloger.

Bruk ACL rekursivt

setfacl -R -m u:user3:r data_archive

Bruker lese-rettigheter for brukeren `user3` rekursivt på katalogen `data_archive` og alle filer og kataloger under den.

Fjern ACL-oppføring for en spesifikk bruker

setfacl -x u:user1 testfile.txt

Fjerner ACL-oppføringen for brukeren `user1` fra filen `testfile.txt`.

Fjern alle utvidede ACL-oppføringer

setfacl -b config_dir

Fjerner alle utvidede ACL-oppføringer fra katalogen `config_dir`. (Standardrettigheter beholdes)

Fjern standard (Default) ACL-oppføringer

setfacl -k project_data

Fjerner alle standard ACL-oppføringer som er satt for katalogen `project_data`.

Installasjon

Kommandoen `setfacl` leveres vanligvis som en del av `acl`-pakken. Den er standardinstallert på de fleste Linux-distribusjoner, men hvis du ikke finner kommandoen, kan du installere den ved hjelp av følgende kommandoer.

Debian/Ubuntu-baserte systemer

sudo apt update && sudo apt install acl

Installer `acl`-pakken ved hjelp av APT-pakkehåndteringen.

RHEL/CentOS/Fedora-baserte systemer

sudo yum install acl
# eller
sudo dnf install acl

Installer `acl`-pakken ved hjelp av YUM- eller DNF-pakkehåndteringen.

Tips & Merknader

Tips og merknader for å bruke `setfacl` effektivt og unngå potensielle problemer.

Bruk sammen med getfacl

Etter å ha satt ACL-er med `setfacl`, er det viktig å bekrefte de gjeldende ACL-ene ved å bruke kommandoen `getfacl <fil/katalog>`. Dette hjelper deg med å verifisere at rettighetene er brukt som tiltenkt.

  • Bekreftelseskommando: getfacl <fil/katalog>

Forstå maske (mask) rettigheter

ACL-oppføringer kan inkludere en 'maske'-oppføring. Masken definerer de maksimale gyldige rettighetene som gjelder for alle bruker- og gruppe-ACL-oppføringer. Det vil si, hvis rettighetene gitt til en spesifikk bruker eller gruppe er høyere enn maskens rettigheter, vil de faktiske rettighetene som brukes, begrenses av masken. Når du setter ACL-er med `setfacl`, kan masken justeres automatisk, så det er lurt å bekrefte med `getfacl`.

  • Rolle: Begrenser maksimale gyldige rettigheter for alle bruker-/gruppe-ACL-oppføringer
  • Bekreftelse: Sjekk 'mask::'-delen i `getfacl`-utdata

Samspill med standardrettigheter

Filer eller kataloger med ACL-er vil vise et '+' tegn på slutten av rettighetsstrengen når de vises med `ls -l`. Dette indikerer at tilleggs-ACL-er er brukt utover standard Unix-rettigheter. ACL-er supplerer standard Unix-rettighetsmodellen, men kan noen ganger øke kompleksiteten, så de bør brukes med forsiktighet.

  • Indikasjon på ACL-bruk: Et '+' tegn på slutten av rettighetsstrengen i `ls -l`-utdata

Forsiktighet ved rekursiv påføring (-R)

Vær forsiktig når du bruker `-R`-alternativet for å bruke ACL-er rekursivt. Spesielt når det brukes sammen med `-b` (fjern alle ACL-er), kan ACL-ene for alle underliggende filer og kataloger utilsiktet bli fjernet. Det anbefales alltid å forhåndssjekke resultatet med `--test`-alternativet, eller ta sikkerhetskopi av viktige data før påføring.

  • Anbefaling: Forhåndssjekk med --test-alternativet, ta sikkerhetskopi av viktige data før påføring

Hétzelfde categoriecommando