Dodijelite pristup čitanju/pisanju korisniku na određenom direktoriju u Linuxu


U prethodnom smo vam članku pokazali kako stvoriti dijeljeni direktorij u Linuxu. Ovdje ćemo opisati kako dati pristup čitanja/pisanja korisniku na određenom direktoriju u Linuxu.

Postoje dvije moguće metode za to: prva je korištenje ACL-ova (Access Control Lists), a druga je stvaranje korisničkih grupa za upravljanje dozvolama za datoteke, kao što je objašnjeno u nastavku.

U svrhu ovog vodiča koristit ćemo sljedeće postavke.

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

Provjerite jesu li sve naredbe izvršene kao root korisnik ili koristite naredbu sudo s ekvivalentnim privilegijama.

Počnimo stvaranjem direktorija pod nazivom reports pomoću naredbe mkdir:

mkdir -p /shares/project1/reports   				

Korištenje ACL-a za davanje pristupa čitanja/pisanja korisniku u imeniku

Važno: Da biste koristili ovu metodu, provjerite podržava li vaš Linux datotečni sustav (kao što su Ext3 i Ext4, NTFS, BTRFS) ACL-ove.

1. Prvo provjerite trenutnu vrstu datotečnog sustava na vašem sustavu, kao i podržava li kernel ACL na sljedeći način:

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

Na donjoj snimci zaslona, vrsta datotečnog sustava je Ext4 i kernel podržava POSIX ACL kao što je naznačeno opcijom CONFIG_EXT4_FS_POSIX_ACL=y.

2. Zatim provjerite je li datotečni sustav (particija) montiran s ACL opcijom ili ne:

tune2fs -l /dev/sda1 | grep acl

Iz gornjeg rezultata možemo vidjeti da zadana opcija montiranja već ima podršku za ACL. Ako u slučaju da nije omogućeno, 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 čitanja/pisanja određenom direktoriju pod nazivom reports pokretanjem sljedećih naredbi.

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 gornjoj snimci zaslona, korisnik tecmint sada ima dozvole za čitanje/pisanje (rw) na direktoriju /shares/project1/reports kao što se vidi iz izlaza drugog naredba getfacl.

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

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

Pogledajmo sada drugu metodu dodjele pristupa za čitanje/pisanje direktoriju.

Korištenje grupa za davanje pristupa čitanja/pisanja korisniku u imeniku

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

chgrp tecmint /shares/project1/reports

Alternativno, stvorite novu grupu za više korisnika (koji će dobiti dopuštenja za čitanje/pisanje na određenom direktoriju), kako slijedi. Međutim, ovo će stvoriti zajednički imenik:

groupadd projects

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

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

3. Promijenite grupnog vlasnika 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 smo vam vodiču pokazali kako dati pristup za čitanje/pisanje korisniku u određenom direktoriju u Linuxu. Ako imate problema, pitajte putem odjeljka za komentare u nastavku.