Linux-da belli bir katalogda ulanyja okamak/ýazmak ygtyýaryny belläň


Öňki makalada Linux-da umumy bukjany nädip döretmelidigini görkezdik. Bu ýerde, Linux-da belli bir katalogda ulanyja nädip okamak/ýazmak mümkinçiligini bermelidigini düşündireris.

Muny etmegiň iki mümkin usuly bar: birinjisi, aşakda düşündirilişi ýaly faýl rugsatlaryny dolandyrmak üçin ulanyjy toparlaryny döretmek.

Bu gollanmanyň maksady üçin aşakdaky gurnamalary ulanarys.

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

Commandshli buýruklaryň kök ulanyjy hökmünde ýerine ýetirilendigine ýa-da şoňa meňzeş artykmaçlyklar bilen sudo buýrugyny ulanyň.

Mkdir buýrugyny ulanyp, hasabat atly katalogy döretmekden başlalyň:

# mkdir -p /shares/project1/reports   				

Katalogda ulanyja okamak/ýazmak üçin ACL ulanmak

Üns beriň: Bu usuly ulanmak üçin Linux faýl ulgamyňyzyň görnüşine (Ext3 we Ext4, NTFS, BTRFS) ACL-leri goldaýandygyna göz ýetiriň.

1. Ilki bilen ulgamyňyzdaky häzirki faýl ulgamynyň görnüşini we ýadrosyň ACL-i aşakdaky ýaly goldaýandygyny barlaň:

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

Aşakdaky skrinshotdan faýl ulgamynyň görnüşi Ext4 bolup, ýadro CONFIG_EXT4_FS_POSIX_ACL=y opsiýasynda görkezilişi ýaly POSIX ACL-leri goldaýar.

2. Ondan soň, faýl ulgamynyň (bölümiň) ACL opsiýasy bilen gurnalandygyny ýa-da ýokdugyny barlaň:

# tune2fs -l /dev/sda1 | grep acl

Aboveokardaky çykyşdan, deslapky gurnama opsiýasynyň ACL üçin eýýäm goldawynyň bardygyny görüp bileris. Işlemedik bolsa, belli bir bölüm üçin işledip bilersiňiz (/ dev/sda3 bu ýagdaý üçin):

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

3. Indi, aşakdaky buýruklary işledip, hasabat atly belli bir kataloga tecmint ulanyja okamak/ýazmak ygtyýaryny bermegiň wagty.

# 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

Aboveokardaky skrinshotda, ulanyjy tecmint indi getfacl ikinji buýrugynyň çykyşyndan görnüşi ýaly katalogda/paýlarda/taslama1/hasabatlarda (rw) rugsatlary okady/ýazdy.

ACL sanawlary barada has giňişleýin maglumat üçin aşakdaky gollanmalary gözden geçiriň.

  1. Ulanyjylar/toparlar üçin disk kwotalaryny gurmak üçin ACL-leri (giriş dolandyryş sanawlary) nädip ulanmaly
  2. Tor paýnamalaryna ACL-leri (giriş dolandyryş sanawlary) nädip ulanmaly

Indi bir kataloga okamak/ýazmak ygtyýaryny bellemegiň ikinji usulyny göreliň.

Katalogda ulanyja okamak/ýazmak üçin toparlary ulanmak

1. Ulanyjynyň eýýäm deslapky ulanyjy topary bar bolsa (adatça ulanyjy ady bilen birmeňzeş), katalogyň toparyň eýesini üýtgediň.

# chgrp tecmint /shares/project1/reports

Ativea-da bolmasa, birnäçe ulanyjy üçin (belli bir katalogda okamaga/ýazmaga rugsat berler) aşakdaky ýaly täze topar dörediň. Şeýle-de bolsa, bu umumy bukjany döreder:

# groupadd projects

2. Soňra ulanyjyny tecmint taslamalary toparyna aşakdaky ýaly goşuň:

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

3. Katalogyň toparyň eýesini taslamalara üýtgediň:

# chgrp	projects /shares/project1/reports

4. Indi toparyň agzalary üçin okamak/ýazmak mümkinçiligini düzüň:

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

Bu! Bu gollanmada, Linux-da belli bir katalogda ulanyja nädip okamak/ýazmak mümkinçiligini bermelidigini görkezdik. Mesele bar bolsa, aşakdaky düşündiriş bölüminiň üsti bilen soraň.