Tildel lese-/skrivetilgang til en bruker på spesifikk katalog i Linux


I en tidligere artikkel viste vi deg hvordan du oppretter en delt katalog i Linux. Her vil vi beskrive hvordan man gir lese-/skrivetilgang til en bruker på en bestemt katalog i Linux.

Det er to mulige metoder for å gjøre dette: den første er å bruke ACLer (Access Control Lists) og den andre er å opprette brukergrupper for å administrere filtillatelser, som forklart nedenfor.

For formålet med denne opplæringen vil vi bruke følgende oppsett.

Operating system: CentOS 7
Test directory: /shares/project1/reports 
Test user: tecmint
Filesystem type: Ext4

Sørg for at alle kommandoer utføres som root-bruker eller bruk sudo-kommandoen med tilsvarende rettigheter.

La oss starte med å lage katalogen som heter rapporter ved å bruke mkdir-kommandoen:

mkdir -p /shares/project1/reports   				

Bruke ACL for å gi lese-/skrivetilgang til brukeren på katalogen

Viktig: For å bruke denne metoden, sørg for at din Linux-filsystemtype (som Ext3 og Ext4, NTFS, BTRFS) støtter tilgangskontrollister.

1. Kontroller først gjeldende filsystemtype på systemet ditt, og også om kjernen støtter ACL som følger:

df -T | awk '{print $1,$2,$NF}' | grep "^/dev"
grep -i acl /boot/config*

Fra skjermbildet nedenfor er filsystemtypen Ext4 og kjernen støtter POSIX ACL-er som indikert av CONFIG_EXT4_FS_POSIX_ACL=y-alternativet.

2. Deretter sjekker du om filsystemet (partisjonen) er montert med alternativet ACL eller ikke:

tune2fs -l /dev/sda1 | grep acl

Fra utgangen ovenfor kan vi se at standard monteringsalternativ allerede har støtte for ACL. Hvis den ikke er aktivert, kan du aktivere den for den aktuelle partisjonen (/dev/sda3 for dette tilfellet):

mount -o remount,acl /
tune2fs -o acl /dev/sda3

3. Nå er det på tide å tilordne en lese-/skrivetilgang til en bruker tecmint til en spesifikk katalog kalt rapporter ved å kjøre følgende kommandoer.

getfacl /shares/project1/reports       		  # Check the default ACL settings for the directory 
setfacl -m user:tecmint:rw /shares/project1/reports     # Give rw access to user tecmint 
getfacl /shares/project1/reports    			  # Check new ACL settings for the directory

I skjermbildet ovenfor har brukeren tecmint nå lese-/skriverettigheter (rw) på katalogen /shares/project1/reports sett fra utdataene fra den andre kommandoen getfacl.

For mer informasjon om ACL-lister, sjekk ut våre følgende guider.

  1. Hvordan bruke ACL-er (Access Control Lists) for å sette opp diskkvoter for brukere/grupper
  2. Hvordan bruke ACL-er (tilgangskontrolllister) for å montere nettverksandeler

La oss nå se den andre metoden for å tildele lese-/skrivetilgang til en katalog.

Bruke grupper for å gi lese-/skrivetilgang til brukeren på katalogen

1. Hvis brukeren allerede har en standard brukergruppe (normalt med samme navn som brukernavn), endrer du ganske enkelt gruppeeieren av katalogen.

chgrp tecmint /shares/project1/reports

Alternativt kan du opprette en ny gruppe for flere brukere (som vil få lese-/skriverettigheter på en bestemt katalog), som følger. Dette vil imidlertid opprette en delt katalog:

groupadd projects

2. Legg deretter brukeren tecmint til gruppen prosjekter som følger:

usermod -aG projects tecmint	    # add user to projects
groups tecmint	            # check users groups

3. Endre gruppeeieren av katalogen til prosjekter:

chgrp	projects /shares/project1/reports

4. Angi nå lese-/skrivetilgang for gruppemedlemmene:

chmod -R 0760 /shares/projects/reports
ls  -l /shares/projects/	    #check new permissions

Det er det! I denne opplæringen viste vi deg hvordan du gir lese-/skrivetilgang til en bruker på en bestemt katalog i Linux. Hvis noen problemer, spør via kommentarfeltet nedenfor.