Weboldal keresés

Írási/olvasási hozzáférés hozzárendelése egy felhasználóhoz egy adott Linux könyvtárban


Egy korábbi cikkünkben megmutattuk, hogyan hozhat létre megosztott könyvtárat Linuxon. Itt leírjuk, hogyan adhatunk írási/olvasási hozzáférést egy felhasználónak egy adott Linux könyvtárban.

Ennek két lehetséges módja van: az első az ACL-ek (Hozzáférés-vezérlési listák) használata, a második pedig a felhasználói csoportok létrehozása a fájljogosultságok kezeléséhez, az alábbiak szerint.

Ennek az oktatóanyagnak a céljára a következő beállítást fogjuk használni.

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

Győződjön meg arról, hogy az összes parancsot root felhasználóként hajtja végre, vagy használja a sudo parancsot egyenértékű jogosultságokkal.

Kezdjük azzal, hogy az mkdir paranccsal létrehozzuk a reports nevű könyvtárat:

mkdir -p /shares/project1/reports   				

Az ACL használata olvasási/írási hozzáférés biztosítására a címtárban lévő felhasználónak

Fontos: A módszer használatához győződjön meg arról, hogy a Linux fájlrendszer típusa (például Ext3 és Ext4, NTFS, BTRFS) támogatja az ACL-eket.

1. Először ellenőrizze az aktuális fájlrendszer típusát a rendszeren, és azt is, hogy a kernel támogatja-e az ACL-t az alábbiak szerint:

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

Az alábbi képernyőképen a fájlrendszer típusa Ext4, és a kernel támogatja a POSIX ACL-eket, amint azt a CONFIG_EXT4_FS_POSIX_ACL=y opció jelzi.

2. Ezután ellenőrizze, hogy a fájlrendszer (partíció) fel van-e csatolva az ACL opcióval vagy sem:

tune2fs -l /dev/sda1 | grep acl

A fenti kimenetből láthatjuk, hogy az alapértelmezett csatlakoztatási lehetőség már támogatja az ACL-t. Ha nincs engedélyezve, akkor engedélyezheti az adott partícióhoz (ebben az esetben /dev/sda3):

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

3. Itt az ideje, hogy olvasási/írási hozzáférést rendeljen a tecmint felhasználóhoz egy adott, reports nevű könyvtárhoz a következő parancsok futtatásával.

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

A fenti képernyőképen a tecmint felhasználó immár olvasási/írási (rw) jogosultsággal rendelkezik a /shares/project1/reports könyvtárban, amint az a második kimenetéből látható. getfacl parancsot.

Az ACL-listákkal kapcsolatos további információkért tekintse meg alábbi útmutatóinkat.

  1. Az ACL-ek (Hozzáférés-vezérlési listák) használata a felhasználók/csoportok lemezkvótáinak beállításához
  2. Az ACL-ek (Hozzáférés-vezérlési listák) használata hálózati megosztások csatlakoztatásához

Most lássuk a második módszert az írási/olvasási hozzáférés hozzárendelésére egy könyvtárhoz.

Csoportok használata olvasási/írási hozzáférés biztosítására a címtár felhasználóinak

1. Ha a felhasználónak már van alapértelmezett felhasználói csoportja (általában ugyanazzal a névvel, mint a felhasználónévvel), egyszerűen módosítsa a címtár csoporttulajdonosát.

chgrp tecmint /shares/project1/reports

Alternatív megoldásként hozzon létre egy új csoportot több felhasználó számára (akik olvasási/írási engedélyt kapnak egy adott könyvtárban), az alábbiak szerint. Ez azonban létrehoz egy megosztott könyvtárat:

groupadd projects

2. Ezután adja hozzá a tecmint felhasználót a projektek csoporthoz az alábbiak szerint:

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

3. Változtassa meg a címtár csoporttulajdonosát projektekre:

chgrp	projects /shares/project1/reports

4. Most állítsa be az olvasási/írási hozzáférést a csoport tagjai számára:

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

Ez az! Ebben az oktatóanyagban megmutattuk, hogyan adhatunk írási/olvasási hozzáférést egy adott Linux könyvtárban lévő felhasználónak. Ha bármilyen probléma van, kérdezze meg az alábbi megjegyzés szakaszban.