Priskirkite skaitymo/rašymo prieigą vartotojui konkrečiame Linux kataloge


Ankstesniame straipsnyje parodėme, kaip sukurti bendrinamą katalogą „Linux“. Čia apibūdinsime, kaip suteikti skaitymo/rašymo prieigą vartotojui konkrečiame Linux kataloge.

Yra du galimi būdai tai padaryti: pirmasis – naudoti ACL (prieigos valdymo sąrašus), o antrasis – sukurti vartotojų grupes failų leidimams valdyti, kaip paaiškinta toliau.

Šios pamokos tikslais naudosime šią sąranką.

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

Įsitikinkite, kad visos komandos vykdomos kaip root naudotojas, arba naudokite komandą sudo su lygiavertėmis privilegijomis.

Pradėkime kurdami katalogą, pavadintą ataskaitomis, naudodami komandą mkdir:

mkdir -p /shares/project1/reports   				

ACL naudojimas norint suteikti skaitymo/rašymo prieigą vartotojui kataloge

Svarbu: norėdami naudoti šį metodą, įsitikinkite, kad jūsų Linux failų sistemos tipas (pvz., Ext3 ir Ext4, NTFS, BTRFS) palaiko ACL.

1. Pirmiausia patikrinkite esamą failų sistemos tipą sistemoje ir ar branduolys palaiko ACL, kaip nurodyta toliau:

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

Toliau pateiktoje ekrano kopijoje failų sistemos tipas yra Ext4, o branduolys palaiko POSIX ACL, kaip rodo parinktis CONFIG_EXT4_FS_POSIX_ACL=y.

2. Tada patikrinkite, ar failų sistema (skirstinys) prijungtas naudojant ACL parinktį, ar ne:

tune2fs -l /dev/sda1 | grep acl

Iš anksčiau pateiktos išvesties matome, kad numatytoji prijungimo parinktis jau palaiko ACL. Jei jis neįjungtas, galite jį įjungti konkrečiam skaidiniui (šiuo atveju /dev/sda3):

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

3. Dabar atėjo laikas priskirti skaitymo/rašymo prieigą vartotojui tecmint prie konkretaus katalogo, vadinamo ataskaitomis, vykdant šias komandas.

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

Aukščiau pateiktoje ekrano kopijoje naudotojas tecmint dabar turi skaitymo/rašymo (rw) leidimus kataloge /shares/project1/reports, kaip matyti iš antrojo komandą getfacl.

Norėdami gauti daugiau informacijos apie ACL sąrašus, peržiūrėkite šiuos vadovus.

  1. Kaip naudoti ACL (prieigos valdymo sąrašus) nustatant disko kvotas vartotojams/grupėms
  2. Kaip naudoti ACL (prieigos valdymo sąrašus) tinklo bendrinimui prijungti

Dabar pažiūrėkime antrąjį būdą, kaip priskirti skaitymo/rašymo prieigą prie katalogo.

Grupių naudojimas norint suteikti skaitymo/rašymo prieigą vartotojui kataloge

1. Jei vartotojas jau turi numatytąją vartotojų grupę (paprastai jos pavadinimas yra toks pat kaip ir naudotojo vardas), tiesiog pakeiskite katalogo grupės savininką.

chgrp tecmint /shares/project1/reports

Arba sukurkite naują grupę keliems vartotojams (kuriems bus suteiktas skaitymo/rašymo leidimas konkrečiame kataloge), kaip nurodyta toliau. Tačiau tai sukurs bendrinamą katalogą:

groupadd projects

2. Tada pridėkite naudotoją tecmint prie grupės projektai taip:

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

3. Pakeiskite katalogo grupės savininką į projektus:

chgrp	projects /shares/project1/reports

4. Dabar nustatykite skaitymo/rašymo prieigą grupės nariams:

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

Viskas! Šioje pamokoje parodėme, kaip suteikti skaitymo/rašymo prieigą vartotojui konkrečiame Linux kataloge. Jei kyla problemų, klauskite toliau pateiktoje komentarų skiltyje.