Dodijelite pristup za čitanje/pisanje korisniku na određenom direktoriju u Linuxu


U prethodnom članku smo vam pokazali kako kreirati zajednički direktorij u Linuxu. Ovdje ćemo opisati kako dati pristup za čitanje/pisanje korisniku na određenom direktoriju u Linuxu.

Postoje dva moguća metoda za to: prvi je korištenje ACL-ova (Lista kontrole pristupa), a drugi kreiranje korisničkih grupa za upravljanje dozvolama za fajlove, kao što je objašnjeno u nastavku.

Za potrebe ovog tutorijala koristit ćemo sljedeće postavke.

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

Uvjerite se da se sve naredbe izvršavaju kao root korisnik ili koristite naredbu sudo s ekvivalentnim privilegijama.

Počnimo kreiranjem direktorija pod nazivom izvještaji pomoću naredbe mkdir:

mkdir -p /shares/project1/reports   				

Korištenje ACL-a za davanje pristupa za čitanje/pisanje korisniku u direktoriju

Važno: Da biste koristili ovu metodu, uvjerite se da tip vašeg Linux sistema datoteka (kao što su Ext3 i Ext4, NTFS, BTRFS) podržava ACL-ove.

1. Prvo provjerite trenutni tip sistema datoteka na vašem sistemu, kao i da li kernel podržava ACL na sljedeći način:

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

Na slici ispod, tip sistema datoteka je Ext4 i kernel podržava POSIX ACL-ove kao što je naznačeno opcijom CONFIG_EXT4_FS_POSIX_ACL=y.

2. Zatim provjerite da li je sistem datoteka (particija) montiran sa ACL opcijom ili ne:

tune2fs -l /dev/sda1 | grep acl

Iz gornjeg izlaza, možemo vidjeti da zadana opcija montiranja već ima podršku za ACL. Ako u slučaju da nije omogućen, možete ga omogućiti za određenu particiju (/dev/sda3 za ovaj slučaj):

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

3. Sada je vrijeme da korisniku tecmint dodijelite pristup za čitanje/pisanje određenom direktoriju zvanom izvještaji tako što ćete pokrenuti sljedeće komande.

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

Na slici iznad, korisnik tecmint sada ima dozvole za čitanje/pisanje (rw) u direktoriju /shares/project1/reports kao što se vidi iz izlaza drugog getfacl komanda.

Za više informacija o ACL listama, pogledajte naše sljedeće vodiče.

  1. Kako koristiti ACL-ove (Liste kontrole pristupa) za postavljanje diskovnih kvota za korisnike/grupe
  2. Kako koristiti ACL-ove (Liste kontrole pristupa) za montiranje mrežnih dijeljenja

Pogledajmo sada drugi način dodjeljivanja pristupa za čitanje/pisanje direktoriju.

Korištenje grupa za davanje pristupa za čitanje/pisanje korisniku u direktoriju

1. Ako korisnik već ima zadanu korisničku grupu (obično sa istim imenom kao korisničko ime), jednostavno promijenite vlasnika grupe direktorija.

chgrp tecmint /shares/project1/reports

Alternativno, kreirajte novu grupu za više korisnika (koji će dobiti dozvole za čitanje/pisanje u određenom direktoriju), kako slijedi. Međutim, ovo će stvoriti zajednički direktorij:

groupadd projects

2. Zatim dodajte korisnika tecmint u grupu projects na sljedeći način:

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

3. Promijenite vlasnika grupe direktorija u projekte:

chgrp	projects /shares/project1/reports

4. Sada postavite pristup za čitanje/pisanje za članove grupe:

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

To je to! U ovom vodiču pokazali smo vam kako korisniku dati pristup za čitanje/pisanje na određenom direktoriju u Linuxu. Ako imate bilo kakvih problema, pitajte putem odjeljka za komentare ispod.