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.
- Hvordan bruke ACL-er (Access Control Lists) for å sette opp diskkvoter for brukere/grupper
- 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.