Share via


Az NFSv4.x hozzáférés-vezérlési listák ismertetése az Azure NetApp Filesban

Figyelemfelhívás

Ez a cikk a CentOS-ra, egy olyan Linux-disztribúcióra hivatkozik, amely közel áll az élettartam (EOL) állapotához. Ennek megfelelően fontolja meg a használatot és a tervezést. További információ: CentOS End Of Life útmutató.

Az NFSv4.x protokoll hozzáférés-vezérlést biztosíthat hozzáférés-vezérlési listák (ACL-ek) formájában, amelyek elméletileg hasonlóak a Windows NTFS-engedélyeken keresztül az SMB-ben használt ACL-ekhez. Az NFSv4.x ACL egyes hozzáférés-vezérlési bejegyzésekből (ACL-ekből) áll, amelyek mindegyike hozzáférés-vezérlési irányelveket biztosít a kiszolgáló számára.

Az Azure NetApp Files hozzáférés-vezérlési entitásának diagramja.

Minden NFSv4.x ACL a következő formátumban type:flags:principal:permissionsjön létre: .

  • Típus – a definiált ACL típusa. Az érvényes lehetőségek közé tartozik az Access (A), a Deny (D), a Audit (U), a Alarm (L). Az Azure NetApp Files támogatja az Access, a Deny és a Audit ACL típusokat, de a naplózási ACL-ek beállításakor jelenleg nem készít naplózási naplókat.
  • Jelzők – további kontextust ad hozzá az ACL-hez. Az ACE-jelzőknek három típusa van: csoport, öröklés és adminisztráció. A jelzőkkel kapcsolatos további információkért lásd: NFSv4.x ACE-jelzők.
  • Egyszerű – az ACL-hez hozzárendelt felhasználót vagy csoportot határozza meg. Az NFSv4.x ACL-en egy egyszerű fájl a következő formátumot name@ID-DOMAIN-STRING.COMhasználja: . Az egyszerű felhasználókkal kapcsolatos részletesebb információkért lásd : NFSv4.x felhasználó- és csoportnevek.
  • Engedélyek – ahol meg van határozva az egyszerű hozzáférési szint. Minden engedély egyetlen betűt jelöl (például az olvasás "r", az írás "w" lesz stb.). A teljes hozzáférés minden elérhető engedélylevelet magában foglalna. További információ: NFSv4.x engedélyek.

A:g:group1@contoso.com:rwatTnNcCy egy érvényes ACL-példa a formátumot követve type:flags:principal:permissions . A példa ACL teljes hozzáférést biztosít a csoporthoz group1 az contoso.com azonosítótartományban.

NFSv4.x ACE-jelzők

Az ACE-jelzők további információt nyújtanak az ACE-ről az ACL-ben. Ha például egy csoport ace-je hozzáadódik egy ACL-hez, egy csoportjelölőt kell használni az egyszerű csoport kijelöléséhez, nem pedig felhasználóként. Linux-környezetekben lehetséges, hogy a felhasználó és a csoport neve megegyezik, így a jelölő biztosítja az ACE-t, majd az NFS-kiszolgálónak tudnia kell, hogy milyen típusú tag van definiálva.

Más jelzők is használhatók az ACE-k, például az öröklés és a felügyeleti jelzők szabályozására.

Hozzáférési és megtagadási jelzők

Az Access (A) és a Deny (D) jelzők a biztonsági ACE-típusok szabályozására szolgálnak. A hozzáférési ACE szabályozza egy egyszerű fájl vagy mappa hozzáférési engedélyeinek szintjét. A megtagadási ACE kifejezetten tiltja, hogy egy tag hozzáférjen egy fájlhoz vagy mappához, még akkor is, ha olyan hozzáférési ACE van beállítva, amely lehetővé teszi az egyszerű felhasználó számára az objektum elérését. A hozzáférés-vezérlési jogosultságok megtagadása mindig felülírja a hozzáférési ACL-eket. Általában kerülje a megtagadási ACL-ek használatát, mivel az NFSv4.x ACL-ek egy "alapértelmezett megtagadási" modellt követnek, ami azt jelenti, hogy ha nem ad hozzá ACL-t, akkor a megtagadás implicit. A megtagadási ACL-ek szükségtelen bonyodalmakat okozhatnak az ACL-kezelésben.

Öröklési jelzők

Az öröklési jelzők szabályozzák, hogy az ACL-ek hogyan viselkednek a szülőkönyvtár alatt létrehozott fájlokon az öröklési jelzőkészlettel. Az öröklési jelző beállításakor a fájlok és/vagy könyvtárak öröklik az ACL-eket a szülőmappából. Az öröklési jelzők csak könyvtárakra alkalmazhatók, ezért alkönyvtár létrehozásakor örökli a jelölőt. A szülőkönyvtár alatt létrehozott fájlok öröklési jelzővel öröklik az ACL-eket, az öröklési jelzőket azonban nem.

Az alábbi táblázat az elérhető öröklési jelzőket és azok viselkedését ismerteti.

Öröklési jelző Működés
d - A szülőkönyvtár alatti könyvtárak öröklik az ACL-t
- Az öröklési jelző is öröklődik
f – A szülőkönyvtár alatti fájlok öröklik az ACL-t
– A fájlok nem állítják be az öröklési jelzőt
i Csak öröklődő; Az ACL nem vonatkozik az aktuális könyvtárra, de öröklést kell alkalmaznia a könyvtár alatti objektumokra
n - Nincs öröklés propagálása
Az ACL öröklése után az öröklő jelzők törlődnek a szülő alatti objektumokon

NFSv4.x ACL-példák

Az alábbi példában három különböző, különböző öröklési jelzővel rendelkező ACE található:

  • könyvtár csak örököl (di)
  • fájl öröklése csak (fi)
  • fájl és könyvtár öröklése (fdi)
# nfs4_getfacl acl-dir

# file: acl-dir/
A:di:user1@CONTOSO.COM:rwaDxtTnNcCy
A:fdi:user2@CONTOSO.COM:rwaDxtTnNcCy
A:fi:user3@CONTOSO.COM:rwaDxtTnNcCy
A::OWNER@:rwaDxtTnNcCy
A:g:GROUP@:rxtncy
A::EVERYONE@:rxtncy

User1 könyvtára csak az ACL-t örökli. A szülő alatt létrehozott alkönyvtárban az ACL öröklődik, de a szülő alatti fájlban nem.

# nfs4_getfacl acl-dir/inherit-dir

# file: acl-dir/inherit-dir
A:d:user1@CONTOSO.COM:rwaDxtTnNcCy
A:fd:user2@CONTOSO.COM:rwaDxtTnNcCy
A:fi:user3@CONTOSO.COM:rwaDxtTnNcCy
A::OWNER@:rwaDxtTnNcCy
A:g:GROUP@:rxtncy
A::EVERYONE@:rxtncy

# nfs4_getfacl acl-dir/inherit-file

# file: acl-dir/inherit-file 
                       << ACL missing
A::user2@CONTOSO.COM:rwaxtTnNcCy
A::user3@CONTOSO.COM:rwaxtTnNcCy
A::OWNER@:rwatTnNcCy
A:g:GROUP@:rtncy
A::EVERYONE@:rtncy

User2 fájl- és könyvtáröröklő jelölővel rendelkezik. Ennek eredményeképpen az ACE-bejegyzéssel rendelkező könyvtár alatti fájlok és könyvtárak is öröklik az ACL-t, de a fájlok nem öröklik a jelölőt.

# nfs4_getfacl acl-dir/inherit-dir

# file: acl-dir/inherit-dir
A:d:user1@CONTOSO.COM:rwaDxtTnNcCy
A:fd:user2@CONTOSO.COM:rwaDxtTnNcCy
A:fi:user3@CONTOSO.COM:rwaDxtTnNcCy
A::OWNER@:rwaDxtTnNcCy
A:g:GROUP@:rxtncy
A::EVERYONE@:rxtncy

# nfs4_getfacl acl-dir/inherit-file

# file: acl-dir/inherit-file
A::user2@CONTOSO.COM:rwaxtTnNcCy << no flag
A::user3@CONTOSO.COM:rwaxtTnNcCy
A::OWNER@:rwatTnNcCy
A:g:GROUP@:rtncy
A::EVERYONE@:rtncy

User3 csak fájl öröklő jelölője van. Ennek eredményeképpen csak az ace-bejegyzéssel rendelkező könyvtár alatti fájlok öröklik az ACL-t, de nem öröklik a jelölőt, mivel csak a címtárbeli ACL-ekre alkalmazhatók.

# nfs4_getfacl acl-dir/inherit-dir

# file: acl-dir/inherit-dir
A:d:user1@CONTOSO.COM:rwaDxtTnNcCy
A:fd:user2@CONTOSO.COM:rwaDxtTnNcCy
A:fi:user3@CONTOSO.COM:rwaDxtTnNcCy
A::OWNER@:rwaDxtTnNcCy
A:g:GROUP@:rxtncy
A::EVERYONE@:rxtncy

# nfs4_getfacl acl-dir/inherit-file

# file: acl-dir/inherit-file
A::user2@CONTOSO.COM:rwaxtTnNcCy
A::user3@CONTOSO.COM:rwaxtTnNcCy << no flag
A::OWNER@:rwatTnNcCy
A:g:GROUP@:rtncy
A::EVERYONE@:rtncy

Ha a "no-propogate" (n) jelző egy ACL-en van beállítva, a jelzők a szülő alatti későbbi címtárlétrehozásokon is törlődnek. Az alábbi példában user2 a n jelölő van beállítva. Ennek eredményeképpen az alkönyvtár törli a főnév öröklő jelzőit, és az alkönyvtár alatt létrehozott objektumok nem öröklik az ACE-t.user2

#  nfs4_getfacl /mnt/acl-dir

# file: /mnt/acl-dir
A:di:user1@CONTOSO.COM:rwaDxtTnNcCy
A:fdn:user2@CONTOSO.COM:rwaDxtTnNcCy
A:fd:user3@CONTOSO.COM:rwaDxtTnNcCy
A::OWNER@:rwaDxtTnNcCy
A:g:GROUP@:rxtncy
A::EVERYONE@:rxtncy

#  nfs4_getfacl inherit-dir/

# file: inherit-dir/
A:d:user1@CONTOSO.COM:rwaDxtTnNcCy
A::user2@CONTOSO.COM:rwaDxtTnNcCy << flag cleared
A:fd:user3@CONTOSO.COM:rwaDxtTnNcCy
A::OWNER@:rwaDxtTnNcCy
A:g:GROUP@:rxtncy
A::EVERYONE@:rxtncy

# mkdir subdir
# nfs4_getfacl subdir

# file: subdir
A:d:user1@CONTOSO.COM:rwaDxtTnNcCy
<< ACL not inherited
A:fd:user3@CONTOSO.COM:rwaDxtTnNcCy
A::OWNER@:rwaDxtTnNcCy
A:g:GROUP@:rxtncy
A::EVERYONE@:rxtncy

A jelölők öröklése lehetővé teszi az NFSv4.x ACL-ek egyszerűbb kezelését, így minden alkalommal, amikor szüksége van rá, kifejezetten beállíthat egy ACL-t.

Rendszergazda megkülönböztető jelzők

az NFSv4.x ACL-ek Rendszergazda istrative jelzői olyan speciális jelzők, amelyek csak naplózási és riasztási ACL-típusok esetén használhatók. Ezek a jelzők a végrehajtandó műveletek sikeres (S) vagy sikertelen (F) hozzáférési kísérleteit határozzák meg.

Az Azure NetApp Files támogatja a felügyeleti jelzők beállítását a naplózási ACE-khez, de az ACL-ek nem működnek. Emellett az Azure NetApp Files nem támogatja a riasztási ACL-eket.

NFSv4.x felhasználó- és csoportnevek

Az NFSv4.x ACL-ekkel a felhasználók és a csoportnevek határozzák meg azokat az objektumokat, amelyekre az ACE-nek alkalmaznia kell. A főnevek általában a következő formátumot követik name@ID-DOMAIN-STRING.COM: . Az egyszerű rendszernév "név" része lehet felhasználó vagy csoport, de az NFSv4.x azonosító tartomány megadásakor a felhasználónak vagy csoportnak feloldhatónak kell lennie az Azure NetApp Filesban az LDAP-kiszolgáló kapcsolatán keresztül. Ha a name@domain nem oldható fel az Azure NetApp Files, akkor az ACL-művelet "érvénytelen argumentum" hibával meghiúsul.

# nfs4_setfacl -a A::noexist@CONTOSO.COM:rwaxtTnNcCy inherit-file
Failed setxattr operation: Invalid argument

Az Azure NetApp Filesban ellenőrizheti, hogy egy név feloldható-e az LDAP-csoportazonosítók listájával. Lépjen a Támogatás + Hibaelhárítás , majd az LDAP-csoportazonosítók listájára.

Helyi felhasználó- és csoporthozzáférés NFSv4.x ACL-eken keresztül

Helyi felhasználók és csoportok is használhatók NFSv4.x ACL-en, ha csak a numerikus azonosító van megadva az ACL-ben. A megadott tartományazonosítóval rendelkező felhasználónevek vagy numerikus azonosítók sikertelenek.

Ilyenek például a következők:

# nfs4_setfacl -a A:fdg:3003:rwaxtTnNcCy NFSACL
# nfs4_getfacl NFSACL/
A:fdg:3003:rwaxtTnNcCy
A::OWNER@:rwaDxtTnNcCy
A:g:GROUP@:rwaDxtTnNcy
A::EVERYONE@:rwaDxtTnNcy

# nfs4_setfacl -a A:fdg:3003@CONTOSO.COM:rwaxtTnNcCy NFSACL
Failed setxattr operation: Invalid argument

# nfs4_setfacl -a A:fdg:users:rwaxtTnNcCy NFSACL
Failed setxattr operation: Invalid argument

Helyi felhasználó vagy csoport ACL beállításakor az ACL numerikus azonosítójának megfelelő felhasználó vagy csoport hozzáférést kap az objektumhoz. A helyi csoport ACL-jei esetében a felhasználó átadja a csoporttagságait az Azure NetApp Filesnak. Ha az Azure NetApp Files NFS-kiszolgálón megjelenik annak a csoportnak a numerikus azonosítója, amely a felhasználó kérésén keresztül fér hozzá a fájlhoz, akkor a hozzáférés az ACL-nek megfelelően engedélyezett.

Az ügyfélről a kiszolgálóra átadott hitelesítő adatok az alább látható csomagrögzítésen keresztül tekinthetők meg.

A mintacsomag-rögzítést hitelesítő adatokkal ábrázoló kép.

Ellenmondások:

  • Ha helyi felhasználókat és csoportokat használ az ACL-ekhez, az azt jelenti, hogy a fájlokhoz/mappákhoz hozzáférő összes ügyfélnek rendelkeznie kell egyező felhasználó- és csoportazonosítókkal.
  • Ha numerikus azonosítót használ egy ACL-hez, az Azure NetApp Files implicit módon megbízik abban, hogy a bejövő kérés érvényes, és hogy a hozzáférést kérő felhasználó az, akinek mondja magát, és tagja azoknak a csoportoknak, amelyeknek a tagnak vallja magát. A felhasználó vagy csoport numerikusai hamisak lehetnek, ha egy rossz szereplő ismeri a numerikus azonosítót, és egy ügyféllel érheti el a hálózatot, és helyileg hozhat létre felhasználókat és csoportokat.
  • Ha egy felhasználó több mint 16 csoport tagja, akkor a tizenhatodik csoport után (alfanumerikus sorrendben) a rendszer megtagadja a fájlhoz vagy mappához való hozzáférést, kivéve, ha LDAP- és kiterjesztett csoporttámogatást használ.
  • Az LDAP és a teljes name@domain névsztringek erősen ajánlottak az NFSv4.x ACL-ek használata esetén a jobb kezelhetőség és biztonság érdekében. A központilag felügyelt felhasználó- és csoportadattárak könnyebben karbantarthatóak és nehezebben hamisításnak vannak kivédve, így kevésbé valószínű a nemkívánatos felhasználók hozzáférése.

NFSv4.x azonosító tartomány

Az azonosító tartomány az egyszerűség fontos összetevője, ahol az azonosító tartománynak az ügyfélen és az Azure NetApp Fileson belül is meg kell egyeznie a felhasználó- és csoportnevek (pontosabban a gyökér) esetében, hogy megfelelően megjelenjenek a fájl-/mappatulajdonságokon.

Az Azure NetApp Files alapértelmezés szerint az NFSv4.x azonosító tartományt adja meg a kötet DNS-tartománybeállításainak. Az NFS-ügyfelek az NFSv4.x AZONOSÍTÓ tartomány DNS-tartományára is alapértelmezettek. Ha az ügyfél DNS-tartománya eltér az Azure NetApp Files DNS-tartománytól, akkor eltérés történik. Ha a fájlengedélyeket olyan parancsokkal sorolja fel, mint például lsa felhasználók/csoportok "senkiként" jelennek meg.

Ha tartományeltérés történik az NFS-ügyfél és az Azure NetApp Files között, ellenőrizze az ügyfélnaplókban a következőhöz hasonló hibákat:

August 19 13:14:29 centos7 nfsidmap[17481]: nss_getpwnam: name 'root@microsoft.com' does not map into domain ‘CONTOSO.COM'

Az NFS-ügyfél azonosító tartománya felülbírálható az /etc/idmapd.conf fájl "Tartomány" beállításával. Például: Domain = CONTOSO.COM

Az Azure NetApp Files lehetővé teszi az NFSv4.1 azonosító tartományának módosítását is. További részletekért lásd : Útmutató: NFSv4.1 azonosítójú tartománykonfiguráció az Azure NetApp Fileshoz.

NFSv4.x engedélyek

Az NFSv4.x engedélyekkel szabályozható, hogy egy adott felhasználó vagy csoportnév milyen hozzáférési szinttel rendelkezik egy fájlon vagy mappán. Az NFSv3-ban az engedélyek csak olvasási/írási/végrehajtási (rwx) hozzáférési szinteket engedélyeznek, az NFSv4.x azonban az NFSv4.x-hez hasonló részletes hozzáférés-vezérlést biztosít az NFSv3 módú bitekkel szemben.

A felhasználókhoz 13, a csoportokhoz pedig 14 engedély adható meg.

Engedélylevél Engedély megadva
r Adatok/listafájlok és mappák olvasása
w Adatok írása/fájlok és mappák létrehozása
a Adatok hozzáfűzése/alkönyvtárak létrehozása
x Fájlok/traverse könyvtárak végrehajtása
d Fájlok/könyvtárak törlése
T Alkönyvtárak törlése (csak könyvtárak)
t Olvasási attribútumok (GETATTR)
T Írási attribútumok (Standard kiadás TATTR/chmod)
n Elnevezett attribútumok olvasása
N Elnevezett attribútumok írása
c ACL-ek olvasása
C ACL-ek írása
o Tulajdonos írása (korcsolya)
y Szinkron I/O

A hozzáférési engedélyek beállításakor egy felhasználó vagy csoportnév betartja a hozzárendelt jogosultságokat.

NFSv4.x jogosultsági példák

Az alábbi példák bemutatják, hogyan működnek a különböző engedélyek különböző konfigurációs forgatókönyvekkel.

Olvasási hozzáféréssel rendelkező felhasználó (csak r)

Írásvédett hozzáféréssel a felhasználó elolvashatja az attribútumokat és az adatokat, de minden írási hozzáférés (adatok, attribútumok, tulajdonos) megtagadva.

A::user1@CONTOSO.COM:r

sh-4.2$ ls -la
total 12
drwxr-xr-x 3 root root 4096 Jul 12 12:41 .
drwxr-xr-x 3 root root 4096 Jul 12 12:09 ..
-rw-r--r-- 1 root root    0 Jul 12 12:41 file
drwxr-xr-x 2 root root 4096 Jul 12 12:31 subdir
sh-4.2$ touch user1-file
touch: can't touch ‘user1-file’: Permission denied
sh-4.2$ chown user1 file
chown: changing ownership of ‘file’: Operation not permitted
sh-4.2$ nfs4_setfacl -e /mnt/acl-dir/inherit-dir
Failed setxattr operation: Permission denied
sh-4.2$ rm file
rm: remove write-protected regular empty file ‘file’? y
rm: can't remove ‘file’: Permission denied
sh-4.2$ cat file
Test text

Olvasási hozzáféréssel (r) és írási attribútumokkal (T) rendelkező felhasználó

Ebben a példában a fájl engedélyei módosíthatók az írási attribútumok (T) engedélye miatt, de nem hozhatók létre fájlok, mivel csak olvasási hozzáférés engedélyezett. Ez a konfiguráció bemutatja az NFSv4.x ACL-ek által biztosított részletes vezérlők típusait.

A::user1@CONTOSO.COM:rT

sh-4.2$ touch user1-file
touch: can't touch ‘user1-file’: Permission denied
sh-4.2$ ls -la
total 60
drwxr-xr-x  3 root     root    4096 Jul 12 16:23 .
drwxr-xr-x 19 root     root   49152 Jul 11 09:56 ..
-rw-r--r--  1 root     root      10 Jul 12 16:22 file
drwxr-xr-x  3 root     root    4096 Jul 12 12:41 inherit-dir
-rw-r--r--  1 user1    group1     0 Jul 12 16:23 user1-file
sh-4.2$ chmod 777 user1-file
sh-4.2$ ls -la
total 60
drwxr-xr-x  3 root     root    4096 Jul 12 16:41 .
drwxr-xr-x 19 root     root   49152 Jul 11 09:56 ..
drwxr-xr-x  3 root     root    4096 Jul 12 12:41 inherit-dir
-rwxrwxrwx  1 user1    group1     0 Jul 12 16:23 user1-file
sh-4.2$ rm user1-file
rm: can't remove ‘user1-file’: Permission denied

Módbitek fordítása NFSv4.x ACL-engedélyekre

Ha egy chmod egy NFSv4.x ACL-sel rendelkező objektumot futtat, a rendszer ACL-ek sorozata frissül új engedélyekkel. Ha például az engedélyek értéke 755, akkor a rendszer ACL-fájljai frissülnek. Az alábbi táblázat az NFSv4 ACL-engedélyekben szereplő numerikus értékeket mutatja be egy módbitben.

Tekintse meg az NFSv4.x engedélyeket egy táblához, amely az összes engedélyt ismerteti.

Módbit numerikus Megfelelő NFSv4.x engedélyek
1 – végrehajtás (x) Végrehajtás, attribútumok olvasása, ACL-ek olvasása, szinkronizálási I/O (xtcy)
2 – írás (w) Adatok írása, hozzáfűzése, olvasási attribútumok, attribútumok írása, elnevezett attribútumok írása, ACL-ek olvasása, szinkronizálás I/O (watTNcy)
3 – írás/végrehajtás (wx) Adatok írása, hozzáfűzése, végrehajtás, attribútumok olvasása, attribútumok írása, elnevezett attribútumok írása, ACL-ek olvasása, szinkronizálás I/O (waxtTNcy)
4 – olvasás (r) Olvasási, olvasási attribútumok, elnevezett attribútumok olvasása, ACL-ek olvasása, I/O szinkronizálása (rtncy)
5 – olvasás/végrehajtás (rx) Olvasás, végrehajtás, attribútumok olvasása, elnevezett attribútumok olvasása, ACL-ek olvasása, I/O szinkronizálása (rxtncy)
6 – olvasás/írás (rw) Olvasás, írás, adatok hozzáfűzése, olvasási attribútumok, írási attribútumok, elnevezett attribútumok olvasása, elnevezett attribútumok írása, ACL-ek olvasása, szinkronizálás I/O (rwatTnNcy)
7 – olvasás/írás/végrehajtás (rwx) Teljes hozzáférés/minden engedély

Az NFSv4.x ACL-ek működése az Azure NetApp Files használatával

Az Azure NetApp Files natív NFSv4.x ACL-eket támogat, ha egy köteten engedélyezve van az NFSv4.1 hozzáférés. Az ACL-támogatáshoz nincs semmi engedélyezve a köteten, de ahhoz, hogy az NFSv4.1 ACL a legjobban működjön, egy UNIX-felhasználókkal és csoportokkal rendelkező LDAP-kiszolgálóra van szükség annak biztosításához, hogy az Azure NetApp Files biztonságosan fel tudja oldani az ACL-en beállított tagokat. A helyi felhasználók használhatják az NFSv4.x ACL-eket, de nem biztosítják ugyanazt a biztonsági szintet, mint az LDAP-kiszolgálón használt ACL-ek.

Az Azure NetApp Files ACL-funkcióit figyelembe kell venni.

ACL-öröklés

Az Azure NetApp Filesban az ACL öröklési jelzőivel egyszerűsíthető az ACL-felügyelet az NFSv4.x ACL-ekkel. Az öröklési jelző beállításakor a szülőkönyvtár ACL-jai további beavatkozás nélkül propagálást végezhetnek alkönyvtárakba és fájlokba. Az Azure NetApp Files az RFC-7530 szerint szabványos ACL-öröklő viselkedéseket implementál.

ACes megtagadása

Az Azure NetApp Filesban található ACL-ek megtagadása arra szolgál, hogy explicit módon korlátozza a felhasználókat vagy csoportokat abban, hogy hozzáférjenek egy fájlhoz vagy mappához. Az engedélyek egy részhalmaza definiálható, hogy részletes vezérlőket biztosítson a megtagadási ACE felett. Ezek az RFC-7530 szabványban említett módszerekkel működnek.

ACL megőrzése

Ha az Azure NetApp Files egy fájlján vagy mappáján chmodot végez, a rendszer ACL-eken kívül az összes meglévő ACL megmarad (OWNER@, GROUP@, EVERYONE@). Ezeket az ACE-engedélyeket a chmod parancs által meghatározott numerikus mód bitjei határozzák meg. Csak a parancson keresztül nfs4_setfacl manuálisan módosított vagy eltávolított ACL-ek módosíthatók.

NFSv4.x ACL-viselkedések kétprotokollos környezetekben

A kettős protokoll az SMB és az NFS ugyanazon az Azure NetApp Files-köteten való használatára utal. A kétprotokollos hozzáférés-vezérlést a kötet által használt biztonsági stílus határozza meg, de a felhasználónév-megfeleltetés biztosítja, hogy a sikeresen egymáshoz leképező Windows- és UNIX-felhasználók ugyanolyan hozzáférési engedélyekkel rendelkezzenek az adatokhoz.

Ha az NFSv4.x ACL-ek UNIX biztonsági stílusú köteteken vannak használatban, a kettős protokollú kötetek használatakor és az SMB-ügyfelek adatainak elérésekor az alábbi viselkedés figyelhető meg.

  • A windowsos felhasználóneveknek megfelelően kell megfeleltetnie a UNIX-felhasználóneveket a hozzáférés-vezérlés megfelelő feloldásához.
  • UNIX biztonsági stílusú kötetekben (ahol az NFSv4.x ACL-eket alkalmazná), ha nincs érvényes UNIX-felhasználó az LDAP-kiszolgálón ahhoz, hogy egy Windows-felhasználó megfeleltethető legyen, akkor a rendszer egy alapértelmezett UNIX-felhasználót pcuser használ a leképezéshez (uid numerikus 65534-es számmal).
  • A Windows-felhasználókkal írt, érvényes UNIX-felhasználóleképezéssel nem rendelkező fájlok a 65534-as numerikus azonosító birtokában jelennek meg, amely az NFS-csatlakoztatásokból származó Linux-ügyfelek "nfsnobody" vagy "senki" felhasználóneveinek felel meg. Ez eltér a 99-ben megadott számtól, amely általában az NFSv4.x azonosítóval kapcsolatos tartományproblémák esetén jelenik meg. A használt numerikus azonosító ellenőrzéséhez használja a ls -lan parancsot.
  • A helytelen tulajdonosokkal rendelkező fájlok nem adják meg a UNIX módú bitek vagy az NFSv4.x ACL-ek várt eredményeit.
  • Az NFSv4.x ACL-eket az NFS-ügyfelek kezelik. Az SMB-ügyfelek nem tekinthetik meg és nem kezelhetik az NFSv4.x ACL-eket.

Umask-hatás NFSv4.x ACL-ekkel

Az NFSv4 ACL-ek lehetővé teszik az ACL öröklését. Az ACL-öröklés azt jelenti, hogy az NFSv4 ACL-ekkel rendelkező objektumok alatt létrehozott fájlok vagy mappák az ACL-öröklési jelző konfigurációja alapján örökölhetik az ACL-eket.

Az Umask azt a jogosultsági szintet szabályozza, amelyen a fájlok és mappák létrejönnek egy könyvtárban. Alapértelmezés szerint az Azure NetApp Files lehetővé teszi, hogy az umask felülbírálja az örökölt ACL-eket, ami az RFC-7530 szerint várható viselkedés.

További információ: umask.

Chmod/chown viselkedés NFSv4.x ACL-ekkel

Az Azure NetApp Filesban az NFSv3 és az NFSv4.x fájl- és könyvtárengedélyeinek kezeléséhez használhatja a tulajdonosváltás (chown) és a change mode bit (chmod) parancsokat.

Az NFSv4.x ACL-ek használatakor a fájlokra és mappákra alkalmazott részletesebb vezérlők csökkentik a chmod-parancsok szükségességét. A Chownnak továbbra is van helye, mivel az NFSv4.x ACL-ek nem rendelnek tulajdonjogot.

Ha a chmod az Azure NetApp Filesban NFSv4.x ACL-eket alkalmazó fájlokon és mappákon fut, a rendszer módosítja a módbiteket az objektumon. Emellett a rendszer ACE-jeinek egy készlete is módosul, hogy tükrözze ezeket a módbiteket. Ha a rendszer ACE-ket eltávolítja, a módbitek törlődnek. Példákat és teljesebb leírást az alábbi rendszer-ACE-kről szóló szakaszban talál.

Az Azure NetApp Filesban való futtatáskor a hozzárendelt tulajdonos módosítható. A fájlok tulajdonjoga nem olyan kritikus az NFSv4.x ACL-ek használatakor, mint a módbitek használatakor, mivel az ACL-ekkel szabályozhatók az engedélyek olyan módon, ahogyan az alapszintű tulajdonos/csoport/mindenki fogalma nem. Az Azure NetApp Filesban a Chown csak gyökérként futtatható (gyökérként vagy sudo használatával), mivel az exportálási vezérlők úgy vannak konfigurálva, hogy csak a tulajdonosi módosításokat engedélyezze a gyökérnek. Mivel ezt az Azure NetApp Files alapértelmezett exportálási szabályzatszabálya szabályozza, a tulajdonosi módosításokat engedélyező NFSv4.x ACL-bejegyzések nem érvényesek.

# su user1
# chown user1 testdir
chown: changing ownership of ‘testdir’: Operation not permitted
# sudo chown user1 testdir
# ls -la | grep testdir
-rw-r--r--  1 user1    root     0 Jul 12 16:23 testdir

A kötet exportálási szabályzatszabálya módosítható ennek a viselkedésnek a módosításához. A kötet Exportálási szabályzat menüjében módosítsa a Chown módot "korlátlan" értékre.

Képernyőkép az exportálási szabályzat menüjéről, amely korlátozás nélkülire módosítja az átvágási módot.

A módosítást követően a tulajdonosi jogokat a gyökérfelhasználóktól eltérő felhasználók is módosíthatják, ha megfelelő hozzáférési jogosultságokkal rendelkeznek. Ehhez a "Tulajdonjog átvétele" NFSv4.x ACL-engedély szükséges (az "o" betűvel jelölve). A tulajdonjog akkor is módosítható, ha a tulajdonost módosító felhasználó jelenleg a fájl vagy mappa tulajdonosa.

A::user1@contoso.com:rwatTnNcCy  << no ownership flag (o)

user1@ubuntu:/mnt/testdir$ chown user1 newfile3
chown: changing ownership of 'newfile3': Permission denied

A::user1@contoso.com:rwatTnNcCoy  << with ownership flag (o)

user1@ubuntu:/mnt/testdir$ chown user1 newfile3
user1@ubuntu:/mnt/testdir$ ls -la
total 8
drwxrwxrwx 2 user2 root       4096 Jul 14 16:31 .
drwxrwxrwx 5 root  root       4096 Jul 13 13:46 ..
-rw-r--r-- 1 user1 root          0 Jul 14 15:45 newfile
-rw-r--r-- 1 root  root          0 Jul 14 15:52 newfile2
-rw-r--r-- 1 user1 4294967294    0 Jul 14 16:31 newfile3

Rendszerszintű hozzáférés-tartományvezérlők

Minden ACL-ben számos rendszer-ACL létezik: OWNER@, GROUP@, EVERYONE@. Példa:

A::OWNER@:rwaxtTnNcCy
A:g:GROUP@:rwaxtTnNcy
A::EVERYONE@:rwaxtTnNcy

Ezek az ACE-k megfelelnek az NFSv3-ban látható klasszikus módú bitek engedélyeinek, és közvetlenül ezekhez az engedélyekhez vannak társítva. Ha egy chmod egy objektumon fut, ezek a rendszer ACL-ek az engedélyeknek megfelelően változnak.

# nfs4_getfacl user1-file

# file: user1-file
A::user1@CONTOSO.COM:rT
A::OWNER@:rwaxtTnNcCy
A:g:GROUP@:rwaxtTnNcy
A::EVERYONE@:rwaxtTnNcy

# chmod 755 user1-file

# nfs4_getfacl user1-file

# file: user1-file
A::OWNER@:rwaxtTnNcCy
A:g:GROUP@:rxtncy

Ha a rendszer ACL-eket eltávolítja, az engedélynézet úgy változik, hogy a normál módú bitek (rwx) kötőjelekként jelenjenek meg.

# nfs4_setfacl -x A::OWNER@:rwaxtTnNcCy user1-file
# nfs4_setfacl -x A:g:GROUP@:rxtncy user1-file
# nfs4_setfacl -x A::EVERYONE@:rxtncy user1-file
# ls -la | grep user1-file
----------  1 user1 group1     0 Jul 12 16:23 user1-file

A rendszerszintű hitelesítésszolgáltató eltávolítása a fájlok és mappák további védelmének egyik módja, mivel csak az ACL-en (és a gyökérrendszeren) lévő felhasználó és csoportnevek férhetnek hozzá az objektumhoz. A rendszer ACE-k eltávolítása megszakíthatja azokat az alkalmazásokat, amelyek üzemmódbitnézetekre támaszkodnak a funkciókhoz.

Legfelső szintű felhasználói viselkedés NFSv4.x ACL-ekkel

Az NFSv4.x ACL-ekkel való gyökérhozzáférés csak akkor korlátozható, ha a gyökér össze van omlva. A gyökértömítés az, ahol egy exportálási házirend-szabály konfigurálva van, ahol a gyökér le van képezve egy névtelen felhasználóhoz a hozzáférés korlátozása érdekében. A gyökérhozzáférés konfigurálható a kötet Exportálási szabályzat menüjéből a gyökérszintű hozzáférés házirendszabályának kikapcsolásával.

A gyökérprés konfigurálásához lépjen a kötet Exportálás házirend menüjébe, majd módosítsa a "Gyökérhozzáférés" beállítást "ki" értékre a szabályzatszabályhoz.

Képernyőkép az exportálási szabályzat menüjéről, amelyen ki van kapcsolva a gyökérhozzáférés.

A gyökérelérési gyökérpróba letiltásának hatása a névtelen felhasználóra nfsnobody:65534. A gyökérhozzáférés ezután nem tudja megváltoztatni a tulajdonjogot.

root@ubuntu:/mnt/testdir# touch newfile3
root@ubuntu:/mnt/testdir# ls -la
total 8
drwxrwxrwx 2 user2  root       4096 Jul 14 16:31 .
drwxrwxrwx 5 root   root       4096 Jul 13 13:46 ..
-rw-r--r-- 1 user1  root          0 Jul 14 15:45 newfile
-rw-r--r-- 1 root   root          0 Jul 14 15:52 newfile2
-rw-r--r-- 1 nobody 4294967294    0 Jul 14 16:31 newfile3
root@ubuntu:/mnt/testdir# ls -lan
total 8
drwxrwxrwx 2  1002          0 4096 Jul 14 16:31 .
drwxrwxrwx 5     0          0 4096 Jul 13 13:46 ..
-rw-r--r-- 1  1001          0    0 Jul 14 15:45 newfile
-rw-r--r-- 1     0          0    0 Jul 14 15:52 newfile2
-rw-r--r-- 1 65534 4294967294    0 Jul 14 16:31 newfile3
root@ubuntu:/mnt/testdir# chown root newfile3
chown: changing ownership of 'newfile3': Operation not permitted

A kétprotokollos környezetekben az NTFS ACL-ek a gyökérhozzáférés részletes korlátozására is használhatók.

Következő lépések