Atribuiți acces de citire/scriere unui utilizator pe un anumit director în Linux


Într-un articol anterior, v-am arătat cum să creați un director partajat în Linux. Aici, vom descrie cum să acordăm acces de citire/scriere unui utilizator într-un anumit director în Linux.

Există două metode posibile de a face acest lucru: prima este crearea de grupuri de utilizatori pentru a gestiona permisiunile fișierelor, așa cum se explică mai jos.

În scopul acestui tutorial, vom folosi următoarea configurare.

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

Asigurați-vă că toate comenzile sunt executate ca utilizator root sau utilizați comanda sudo cu privilegii echivalente.

Să începem prin a crea directorul numit rapoarte folosind comanda mkdir:

# mkdir -p /shares/project1/reports   				

Utilizarea ACL pentru a oferi acces de citire/scriere utilizatorului din director

Important: pentru a utiliza această metodă, asigurați-vă că tipul dvs. de sistem de fișiere Linux (cum ar fi Ext3 și Ext4, NTFS, BTRFS) acceptă ACL-uri.

1. În primul rând, verificați tipul actual de sistem de fișiere de pe sistemul dvs. și, de asemenea, dacă nucleul acceptă ACL, după cum urmează:

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

Din captura de ecran de mai jos, tipul sistemului de fișiere este Ext4, iar nucleul acceptă ACL-uri POSIX, așa cum este indicat de opțiunea CONFIG_EXT4_FS_POSIX_ACL=y.

2. Apoi, verificați dacă sistemul de fișiere (partiția) este montat cu opțiunea ACL sau nu:

# tune2fs -l /dev/sda1 | grep acl

Din rezultatul de mai sus, putem vedea că opțiunea de montare implicită are deja suport pentru ACL. Dacă, în cazul în care nu este activat, îl puteți activa pentru partiția respectivă (/dev/sda3 pentru acest caz):

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

3. Acum, este timpul să atribuiți un acces de citire/scriere unui utilizator tecmint unui anumit director numit rapoarte, rulând următoarele comenzi.

# 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

În captura de ecran de mai sus, utilizatorul tecmint are acum permisiuni de citire/scriere (rw) în directorul /shares/project1/reports după cum se vede din rezultatul celui de-al doilea comanda getfacl.

Pentru mai multe informații despre listele ACL, consultați următoarele ghiduri.

  1. Cum se utilizează ACL (liste de control al accesului) pentru a configura cotele de disc pentru utilizatori/grupuri
  2. Cum să utilizați ACL-urile (liste de control al accesului) pentru a monta partajări de rețea

Acum să vedem a doua metodă de atribuire a accesului de citire/scriere unui director.

Utilizarea grupurilor pentru a oferi acces de citire/scriere utilizatorului din director

1. Dacă utilizatorul are deja un grup de utilizatori implicit (în mod normal, cu același nume cu numele de utilizator), pur și simplu schimbați proprietarul grupului din director.

# chgrp tecmint /shares/project1/reports

Alternativ, creați un grup nou pentru mai mulți utilizatori (care vor primi permisiuni de citire/scriere pe un anumit director), după cum urmează. Totuși, aceasta va crea un director partajat:

# groupadd projects

2. Apoi adăugați utilizatorul tecmint la grupul proiecte după cum urmează:

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

3. Schimbați proprietarul grupului al directorului în proiecte:

# chgrp	projects /shares/project1/reports

4. Acum setați accesul de citire/scriere pentru membrii grupului:

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

Asta este! În acest tutorial, v-am arătat cum să acordați acces de citire/scriere unui utilizator într-un anumit director în Linux. Dacă aveți probleme, întrebați prin secțiunea de comentarii de mai jos.