Mpe Mtumiaji Ufikiaji wa Kusoma/Kuandika kwenye Saraka Maalum katika Linux


Katika makala iliyotangulia, tulikuonyesha jinsi ya kuunda saraka iliyoshirikiwa katika Linux. Hapa, tutaelezea jinsi ya kutoa ufikiaji wa kusoma/kuandika kwa mtumiaji kwenye saraka maalum katika Linux.

Kuna njia mbili zinazowezekana za kufanya hivi: ya kwanza ni kuunda vikundi vya watumiaji kudhibiti ruhusa za faili, kama ilivyoelezewa hapa chini.

Kwa madhumuni ya somo hili, tutatumia usanidi ufuatao.

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

Hakikisha amri zote zinatekelezwa kama mtumiaji wa mizizi au tumia amri ya sudo na marupurupu sawa.

Wacha tuanze kwa kuunda saraka inayoitwa ripoti kwa kutumia amri ya mkdir:

# mkdir -p /shares/project1/reports   				

Kutumia ACL Kutoa Ufikiaji wa Kusoma/Kuandika kwa Mtumiaji kwenye Saraka

Muhimu: Ili kutumia njia hii, hakikisha kwamba aina ya mfumo wako wa faili wa Linux (kama vile Ext3 na Ext4, NTFS, BTRFS) inasaidia ACL.

1. Kwanza, angalia aina ya sasa ya mfumo wa faili kwenye mfumo wako, na pia kama kernel inasaidia ACL kama ifuatavyo:

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

Kutoka kwa picha ya skrini iliyo hapa chini, aina ya mfumo wa faili ni Ext4 na kernel inaauni POSIX ACL kama inavyoonyeshwa na chaguo la CONFIG_EXT4_FS_POSIX_ACL=y.

2. Kisha, angalia ikiwa mfumo wa faili (kizigeu) umewekwa kwa chaguo la ACL au la:

# tune2fs -l /dev/sda1 | grep acl

Kutoka kwa pato hapo juu, tunaweza kuona kuwa chaguo-msingi la kuweka tayari lina msaada kwa ACL. Ikiwa haijawashwa, unaweza kuiwezesha kwa kizigeu fulani (/dev/sda3 kwa kesi hii):

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

3. Sasa, ni wakati wake wa kupeana ufikiaji wa kusoma/kuandika kwa mtumiaji tecmint kwa saraka maalum inayoitwa ripoti kwa kutekeleza amri zifuatazo.

# 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

Katika picha ya skrini iliyo hapo juu, mtumiaji tecmint sasa ana ruhusa za kusoma/kuandika (rw) kwenye saraka /shares/project1/reports kama inavyoonekana kutoka kwa matokeo ya amri ya pili ya getfacl.

Kwa habari zaidi kuhusu orodha za ACL, angalia miongozo yetu ifuatayo.

  1. Jinsi ya Kutumia ACL (Orodha za Udhibiti wa Ufikiaji) ili Kuweka Viwango vya Diski kwa Watumiaji/Vikundi
  2. Jinsi ya Kutumia ACL (Orodha za Udhibiti wa Ufikiaji) ili Kuweka Hisa za Mtandao

Sasa hebu tuone njia ya pili ya kugawa ufikiaji wa kusoma/kuandika kwenye saraka.

Kutumia Vikundi Kutoa Ufikiaji wa Kusoma/Kuandika kwa Mtumiaji kwenye Saraka

1. Ikiwa mtumiaji tayari ana kikundi cha watumiaji chaguo-msingi (kawaida chenye jina sawa na la mtumiaji), badilisha tu mmiliki wa kikundi cha saraka.

# chgrp tecmint /shares/project1/reports

Vinginevyo, unda kikundi kipya kwa watumiaji wengi (ambao watapewa ruhusa za kusoma/kuandika kwenye saraka maalum), kama ifuatavyo. Walakini, hii itaunda saraka iliyoshirikiwa:

# groupadd projects

2. Kisha ongeza mtumiaji tecmint kwenye kikundi projects kama ifuatavyo:

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

3. Badilisha mmiliki wa kikundi cha saraka kuwa miradi:

# chgrp	projects /shares/project1/reports

4. Sasa weka ufikiaji wa kusoma/kuandika kwa washiriki wa kikundi:

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

Ni hayo tu! Katika somo hili, tulikuonyesha jinsi ya kumpa mtumiaji ufikiaji wa kusoma/kuandika kwenye saraka maalum katika Linux. Ikiwa kuna shida, uliza kupitia sehemu ya maoni hapa chini.