POSIX hozzáférési listák (Access Control List - ACL) támogatása

Terméktámogatási adatbázis (81_acl)
Következőkre vonatkozik

SuSE Linux: Verzió 8.1

Első ízben a SuSE Linux 8.1 tartalmazza a POSIX hozzáférési listák (ACL) kisérleti támogatását. Ez a cikk azt ismerteti, mely ACL dokumentációk férhetők hozzá, valamint hogyan lehet a támogatást bekapcsolni és mit kell figyelembe venni a használat közben.

Bevezetés

A POSIX hozzáférési lita a hagyományos UNIX jogosultság séma kiterjesztése. Segítségével jogosultságokat rendelhetünk adott felhasználók és csoportok részére nem csak a fájlokra vonatkozólag, hanem más csoportokra és egyebekre is. Szintén megoldható könyvtártól függően az újonnan létrehozott fájlok jogosultságainak beállítása.

Az ACL egyenlőre kísérleti lehetőség a SuSE Linux 8.1-ben. Mivel nagyon gyors a fejlesztés menete, tervezzük frissítőcsomagok készítését is. Bizonyosodjunk meg arról, hogy minden esetben a legfrissebb rendszermagot és csomagokat használjuk. A YaST2 fejezet a Felhasználói kézikönyvben ismerteti a frissítések beszerzéséhez szükséges lépéseket.

Támogatott fájlrendszerek

A SuSE Linux 8.1 az ext2 és ext3 fájlrendszer esetében támogatja az ACL-ek használatát. Természetesen létezik a támogatás xfs és jfs fájlrendszerre is, de jelen időben még nem javasoljuk használatukat, mivel ismert problémák vannak mindkét fájlrendszernél. A reiserfs ACL támogatás szintén hamarosan várható, de a szükséges kód nem aktív a SuSE Linux 8.1 rendszermagban.

Miután az összes fájlrendszer átesik a belső ACL tesztünkön, hozzáférhetővé tesszük a frissített rendszermagot.

Az ALC-ek bekapcsolása

A telepítés utáni alapértelmezett beállítások szerint az ACL-ek kikapcsolt állapotban vannak ext2, ext3 és reiserfs esetén. Aktiválásuk a támogatott rendszerek esetén az "acl" csatolási opcióval lehetséges, amelyet az /etc/fstab fájl megfelelő helyére kell beszúrni (lásd az alábbi cikkben: "" (http://sdb.suse.de/hu/sdb/html/maddin_fstab.html).) A jfs és xfs fájlrendszerek esetén az ALC-ek minden esetben be vannak kapcsolva, éppen ezért nincs "acl" csatolási opció.

Az ACL-ek megváltoztatása

Az alapvető jogosultságokat, mint a tulajdonos, tulajdonos csoport és egyebek alapvető ACL-nek (minimal ACL) hívjuk. Ezen a három bejegyzésen felül egy ACL tartalmazhat jogosultságokat egyéb felhasználók vagy csoportok számára. Az olyan ACL-t, amely több bejegyzést tartalmaz, mint az alapvető jogosultságok a továbbiakban kiterjesztett ACL-nek (extended ACL) nevezzük.

Az olyan fájlok, amelyeknek kiterjesztett ACL-jük van, egy további "+" karakterrel jelennek meg az "ls -l" parancsra megjelenő könyvtár listázások során. A "getfacl" [getfacl(1)] parancs megjeleníti a fájl összes jogait. Az ACL-ek a "setfacl" [setfacl(1)] parancs segítségével módosíthatók. Ezen felül a "cp -p" parancs az ACL-eket is másolja a fájlok között.

ACL-ek és Samba

Ahogy az ACL-ek aktiválva vannak, azok a jogosultságok, amelyek a Windows NT/2000/XP beépített ACL szerkesztőjében láthatók, módosíthatók, akárcsak az NTFS partíciókon. Nincs további szoftver telepítésére szükség. A Samba és az ACL-ek tartalmazzák a Windows fájlszerver összes alapvető lehetőségét. Egyetlen egy apró különbség a POSIX ACL-ek és NTFS ACL-nek más módon történő megjelenítése, éppen ezért azok akik megszokták a Windows ACL-eket, megszokott környezetben találják magukat.

ACL-ek és NFS

Az ACL-ek szintén megadhatók a fájlok NFS-en keresztül történő elérésére is. A régebbi NFS kliensekben (NFSv2 és NFSv3 kliensek a SuSE Linux 8.1 verziója előtt) egy olyan jogosultság ellenőrző algoritmus van, amely nem teljesen korrekt módon működik ACL-ek esetében. Egyes esetekben ez azt okozhatja, hogy a régi NFS kliens szoftvert használó kliensek kapnak olvasási jogot a helyben átmenetileg tárolt fájlokra, viszont nem érhetik el azokat. Ez a probléma nem áll fenn a SuSE Linux 8.1 kliensek esetében vagy akkor, ha egyáltalán nem használunk ACL-eket.

Hogy bizonyosak lehessünk abban, hogy a régi kliens megfelelően működjön, az nfsd.o modul nfs_permission_mode paraméterét használhatjuk (pl., az "options nfsd nfs_permission_mode=1" opciók hozzáadásával az etc/modules.conf fájlhoz, vagy az nfsd modul kézzel történő betöltésekor megadva a helyes paramétert. "insmod nfsd nfs_permission_mode=1"). A paraméter hatására a szerver kliens számára küldendő jogosultságai korlátozottabbak a valós jogosultságokkal szemben, éppen ezért a kliens sohasem kaphat helytelen választ.

Általában az NFSv3 kliensek megkérdezik az NFS szervert a hozzáférés elérésének korlátozásakor. A régebbi kliensek (NFSv2 és NFSv3 kliensek a SuSE Linux 8.1 verzió előtt) néhány elérési korlátozást helyben kezelnek, a szerver megkérdezése nélkül. Néhány konfigurációnál, az adminisztrátor tudatában van annak, hogy az adott NFS útvonal nem tartalmaz kiterjesztett jogosultságokat (vagyis nincsenek ACL-ek), éppen ezért a gyorsabb, helyi elérés ellenőrző algoritmus elégséges. Ez esetben az NFS útvonal csatolható a "noacl" opcióval, ekkor az NFS kliens leállítja a szerverrel történő konzultációt.

Jelenleg az ACL-ek nem jeleníthetők meg és nem módosíthatók NFS-en keresztül. Ez a lehetőség a SuSE Linux következő verziójától érhető el. Az NFS-en keresztül a "getfacl" segédprogram csak az alapvető ACL bejegyzéseket mutatja meg; a "setfacl" hibát jelez az "Operation not supported" üzenettel.

Biztonsági mentés és visszaállítás

Az ACL-ek jelenleg csak a pax archív formátumban menti az adatokat (a pax a tar ustar formátumának leszármazottja és általában visszafelé kompatibilis vele). A "star" tar-klón támogatja a pax archívum formátumot az ACL-ek kezeléséhez szükséges kiterjesztésekkel. Az egyéb mentést végző segédprogramok, mint a GNU tar és dump nem tárolják az ACL-eket. Ha szeretnénk tárolni az ACL-eket, de a "star" nem használható, hozzunk létre egy egyszerű szöveges listát az összes kiterjesztett ACL-ről a "getfacl --skip-base -R <dir>" paranccsal. Ezt a későbbiekben a "setfacl --restore" állíthatjuk vissza.

További információk

Jelenleg kidolgozás alatt áll egy sokkal érthetőbb ACL dokumentáció. Amint több anyag is hozzáférhető, a következő helyeken megtekinthetők (angolul vagy németül). Addig is egy tipp: létezik számos más ACL rendszer (CISCO, Squid, AFS, NFSv4, stb.) amely nem sokat tud kezdeni a POSIX acl-ekkel.

Általános információ: http://acl.bestbits.at (nem naprakész).
ACL-ek használata: getfacl(1) és setfacl(1) kézikönyv lapok.
ACL-e programozása: acl(5) kézikönyv lapok.
Az ACL-ek használata Solaris operációs rendszerben: Sun World Online (SWOL-08-1996), egy cikk a Forschungszentrums Jülich-től (Németül).


Kulcsszavak: ACLS, SAMBA, MOUNT, REISERFS, EXT2, EXT3, XFS, JFS, KERNEL, FILE SYSTEM, GETFACL, SETFACL, CHACL, HOZZáFéRéS, LISTA

Kategóriák:

Visszajelzés: Send Mail to agruen+acl@suse.de (Adja meg a levél tárgyát:: SDB-81_acl)
SDB-81_acl, Copyright SuSE Linux AG, Nürnberg, Germany - Verzió: 14. Oct 2002
SuSE Linux AG - Utoljára frissítve: 28. Nov 2002 feladó: comp (sdb_gen 1.40.0)