Piešķirt lasīšanas/rakstīšanas piekļuvi lietotājam Linux īpašā direktorijā


Iepriekšējā rakstā mēs parādījām, kā izveidot koplietojamu direktoriju Linux. Šeit mēs aprakstīsim, kā piešķirt lasīšanas/rakstīšanas piekļuvi lietotājam noteiktā Linux direktorijā.

To var izdarīt divējādi: pirmā ir lietotāju grupu izveidošana, lai pārvaldītu failu atļaujas, kā paskaidrots tālāk.

Šīs apmācības vajadzībām mēs izmantosim šādu iestatīšanu.

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

Pārliecinieties, vai visas komandas tiek izpildītas kā root lietotājs, vai izmantojiet sudo komandu ar līdzvērtīgām privilēģijām.

Sāksim, izveidojot direktoriju ar nosaukumu reports , izmantojot komandu mkdir:

# mkdir -p /shares/project1/reports   				

ACL izmantošana lasīšanas/rakstīšanas piekļuves piešķiršanai lietotājam direktorijā

Svarīgi: Lai izmantotu šo metodi, pārliecinieties, vai Linux failu sistēmas tips (piemēram, Ext3 un Ext4, NTFS, BTRFS) atbalsta ACL.

1. Vispirms pārbaudiet pašreizējo sistēmas failu sistēmas tipu un to, vai kodols atbalsta ACL šādi:

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

Tālāk redzamajā ekrānuzņēmumā failu sistēmas tips ir Ext4, un kodols atbalsta POSIX ACL, kā norādīts opcijā CONFIG_EXT4_FS_POSIX_ACL = y.

2. Pēc tam pārbaudiet, vai failu sistēma (nodalījums) ir pievienota ar opciju ACL vai nav:

# tune2fs -l /dev/sda1 | grep acl

No iepriekš minētās izejas mēs varam redzēt, ka noklusējuma stiprināšanas opcijai jau ir atbalsts ACL. Ja gadījumā, ja tas nav iespējots, varat to iespējot konkrētajam nodalījumam (/ dev/sda3 šajā gadījumā):

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

3. Tagad ir pienācis laiks piešķirt lasīšanas/rakstīšanas piekļuvi lietotājam tecmint konkrētam direktorijam ar nosaukumu reports , izpildot šādas 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

Iepriekš redzamajā ekrānuzņēmumā lietotājam tecmint tagad ir lasīšanas/rakstīšanas (rw) atļaujas direktorijā/share/project1/reports, kā redzams no otras getfacl komandas izejas.

Lai iegūtu papildinformāciju par ACL sarakstiem, skatiet mūsu šīs rokasgrāmatas.

  1. Kā izmantot ACL (piekļuves kontroles sarakstus), lai iestatītu disku kvotas lietotājiem/grupām
  2. Kā izmantot ACL (piekļuves kontroles sarakstus) tīkla koplietošanas ierīkošanai

Tagad apskatīsim otro lasīšanas/rakstīšanas piekļuves piešķiršanas metodi direktorijai.

Grupu izmantošana, lai piešķirtu lasīšanas/rakstīšanas piekļuvi direktorija lietotājam

1. Ja lietotājam jau ir noklusējuma lietotāju grupa (parasti ar tādu pašu nosaukumu kā lietotājvārds), vienkārši nomainiet direktorijas grupas īpašnieku.

# chgrp tecmint /shares/project1/reports

Alternatīvi izveidojiet jaunu grupu vairākiem lietotājiem (kuriem tiks piešķirtas lasīšanas/rakstīšanas atļaujas noteiktā direktorijā) šādi. Tomēr tas izveidos koplietojamu direktoriju:

# groupadd projects

2. Pēc tam pievienojiet lietotāju tecmint grupai projekti šādi:

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

3. Mainiet direktorijas grupas īpašnieku uz projektiem:

# chgrp	projects /shares/project1/reports

4. Tagad iestatiet lasīšanas/rakstīšanas piekļuvi grupas dalībniekiem:

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

Tieši tā! Šajā apmācībā mēs parādījām, kā piešķirt lasīšanas/rakstīšanas piekļuvi lietotājam noteiktā Linux direktorijā. Ja rodas kādas problēmas, jautājiet zemāk esošajā komentāru sadaļā.