Določite dostop za branje/pisanje uporabniku v določenem imeniku v Linuxu


V prejšnjem članku smo vam pokazali, kako v Linuxu ustvarite imenik v skupni rabi. Tu bomo opisali, kako uporabniku omogočiti dostop za branje/pisanje v določenem imeniku v Linuxu.

Za to obstajata dva možna načina: prvi je ustvarjanje uporabniških skupin za upravljanje dovoljenj datotek, kot je razloženo spodaj.

Za namen te vadnice bomo uporabili naslednje nastavitve.

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

Prepričajte se, da se vsi ukazi izvajajo kot korenski uporabnik, ali uporabite ukaz sudo z enakovrednimi privilegiji.

Začnimo z ustvarjanjem imenika z imenom reports z ukazom mkdir:

# mkdir -p /shares/project1/reports   				

Uporaba ACL za omogočanje branja/pisanja dostopa uporabniku v imeniku

Pomembno: Če želite uporabiti to metodo, zagotovite, da vaš datotečni sistem Linux (na primer Ext3 in Ext4, NTFS, BTRFS) podpira ACL-je.

1. Najprej preverite trenutno vrsto datotečnega sistema v vašem sistemu in tudi, ali jedro podpira ACL, kot sledi:

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

Na spodnjem posnetku zaslona je vrsta datotečnega sistema Ext4 in jedro podpira ACL-je POSIX, kot je označeno z možnostjo CONFIG_EXT4_FS_POSIX_ACL = y.

2. Nato preverite, ali je datotečni sistem (particija) nameščen z možnostjo ACL ali ne:

# tune2fs -l /dev/sda1 | grep acl

Iz zgornjega izhoda lahko vidimo, da privzeta možnost namestitve že podpira ACL. Če v primeru, da ni omogočena, jo lahko omogočite za določeno particijo (/ dev/sda3 v tem primeru):

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

3. Zdaj je čas, da uporabniku tecmint dodelite dostop za branje/pisanje določenemu imeniku, imenovanemu reports , tako da zaženete naslednje ukaze.

# 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

Na zgornjem posnetku zaslona ima uporabnik tecmint zdaj dovoljenja za branje/pisanje (rw) v imeniku/share/project1/reports, kot je razvidno iz rezultata drugega ukaza getfacl.

Za več informacij o seznamih ACL si oglejte naslednja vodiča.

  1. Kako uporabiti ACL-je (sezname za nadzor dostopa) za nastavitev diskovnih kvot za uporabnike/skupine
  2. Kako uporabiti ACL-je (sezname za nadzor dostopa) za namestitev omrežnih delnic

Zdaj pa poglejmo drugi način dodeljevanja dostopa za branje/pisanje v imenik.

Uporaba skupin za omogočanje branja/pisanja dostopa uporabniku v imeniku

1. Če uporabnik že ima privzeto uporabniško skupino (običajno z istim imenom kot uporabniško ime), preprosto spremenite lastnika skupine v imeniku.

# chgrp tecmint /shares/project1/reports

Lahko pa ustvarite novo skupino za več uporabnikov (ki bodo dobili dovoljenja za branje/pisanje v določenem imeniku), kot sledi. Vendar bo to ustvarilo imenik v skupni rabi:

# groupadd projects

2. Nato dodajte uporabnika tecmint v skupino projektov , kot sledi:

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

3. Lastnika skupine imenika spremenite v projekte:

# chgrp	projects /shares/project1/reports

4. Zdaj nastavite dostop za branje/pisanje za člane skupine:

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

To je to! V tej vadnici smo vam pokazali, kako uporabniku omogočiti dostop za branje/pisanje v določenem imeniku v Linuxu. Če imate kakršne koli težave, vprašajte v spodnjem oddelku za komentarje.