next up previous index
Következő: 15.40.5 FIGYELMEZTETÉSEK Fel: 15.40.4 OPCIÓK Előző: 15.40.4 OPCIÓK   Index

15.40.4.0.0.1 Felhasználói ID leképezés
nfsd alapú a fájlok hozzáférés-ellenőrzése a szerver gépen, az UID GID számokat beszerzi minden NFS RPC kérésnél. A normál viselkedés az, amikor egy felhasználó szeretne hozzáférni egy fájlhoz a szerveren, úgy, mintha az egy normál fájlrendszer lenne. Ehhez az szükséges, hogy a kliens és a szerver ugyanazokat az UID és GID értékeket használja. Ez nem mindig igaz, nem mindig kívánatos.

Nagyon gyakran nem kívánatos, hogy a kliens gépek root-ja root-ként érje el az NFS szerver fájljait. Ebben az esetben, a 0 UID normálisan le van képezve egy másik UID-re, ezt általában anonymous-nak vagy nobody-nak hívják. Ez a mód az alapértelmezett (root squashing-nak hívják), és ha ki akarod kapcsolni, akkor a no_root_squash opciót kell használnod.

Alapértelmezésben az nfsd megkapja az anonymous UID-et és GID-et, megnézve a jelszófájlban a nobody felhasználót indulási időben. Ha nem találja, akkor a -2-es (65534) UID és GID értéket használja. Ezek az értékek felülírhatók az anonuid és az anongid opciókkal.

Hozzáadva ezt, az nfsd képes korlátlan számú speciális UID és GID érték leképezésére, nobody felhasználóra. Végezetül minden felhasználói kérést le tud képezni az anonymous UID-re, használva az all_squash opciót.

A telepítések kedvéért, ahol az UID-ek különböznek a különböző gépek között, az nfsd támogat több lehetőséget a dinamikus leképezésre a szerver és a kliens UID-jei között és viszont:

Az ugidd alapú leképezéshez engedélyezni kell a map_daemon opciót, és használni kell az UGID RPC protokollt. Ahhoz, hogy működjön, futtatni kell az ugidd leképező démont a kliens gépen. A három lehetőség közül ez a legkisebb biztonságú, mert futtatva az ugidd démont, mindenki le tudja kérdezni a kliens gépen lévő valós felhasználók neveit. Védheted magad, ha korlátozod az ugidd-hez való hozzáférést a létező gépekre. Ezt a korlátozást a hosts.allow (16.12. fejezet) és a hosts.deny (16.13. fejezet) fájlokkal tudod megvalósítani. A szolgáltatás neve ugidd. A fájlok szintakszisának leírásához kérlek olvasd el a hosts_access(5) kézikönyvének lapjait.

A statikus leképezés engedélyezhető a map_static opció használatával, amely egy fájlnevet kap argumentumként, amely leírja a leképezést. NIS alapú leképezésnél a kliens a NIS szerverről leképezi a szerveren lévő felhasználói és csoportneveket a kliensen lévő felhasználói és csoportnevekre.

Itt egy teljes lista a leképezési opciókról:

root_squash
leképezi a 0-ás UID/GID-et az anonymous UID/GID-re. Ez nem változtatja meg az egyéb UID-okat, mint például a bin felhasználóé.
no_root_squash
megfordítja a root_squash opciót. Ez az opció főként lemez nélküli klienseknél használt.
squash_uids és squash_gids
ez az opció meghatároz egy UID és egy GID listát, ami leképeződik az anonymous felhasználóra. Egy létező ID-kről szóló lista így néz ki:
squash_uids=0-15,20,25-50
Általában az általad használt lista is ennyire egyszerű.
all_squash
minden UID-et és GID-et anonymous felhasználóra képez le. Használatos NFS-en exportált FTP könyvtárakhoz, news spool könyvtárakhoz, stb. Az ellenkező opció a no_all_squash, amely az alapértelmezett beállítás.
map_daemon
ez az opció lehetővé teszi a dinamikus UID/GID leképezést. Minden UID, NFS kéréskor, leképeződik egy egyenértékű szerver UID-re, és minden UID NFS válaszkor leképeződik a másik oldalon. Ehhez az opcióhoz szükséges, hogy fusson a kliensen az rpc.ugidd(8). Az alapértelmezett beállítás a map_identity, amely érintetlenül hagyja az UID-okat. A normál squash opciók érvényesek, tekintet nélkül arra, hogy dinamikus leképezés szükséges-e vagy nem.
map_static
ez az opció engedélyezi a statikus leképezést. Ez határozza meg annak a fájlnak a nevét, amiben le vannak írva az UID/GID leképezések. Például:
map_static=/etc/nfs/foobar.map
A fájl formátuma a következő:
# Mapping for client foobar:
#    távoli     helyi
uid  0-99       -       # squash these
uid  100-500    1000    # leképezés 100-500-ról 1000-1500-ra
gid  0-49       -       # squash these
gid  50-100     700     # leképezés 50-100-ról 700-750-ra
map_nis
ez az opció engedélyezi a NIS alapú UID/GID leképezést. Például, amikor a szerverhez eljut az UID 123, akkor meg fogja szerezni a login-bevet ehhez az UID-hez, felhívja az NFS-kliens NIS szerverét, hogy megszerezze az UID-et, amit a kliens a névvel kapcsolatba hoz.

Azért, hogy ezt megcsinálja, az NFS szervernek tudnia kell a kliens domain-jét. Ezt meghatározhatjuk a map_nis argumentumával, például:

map_nis=foo.com
Jegyezd meg, lehetséges, hogy nem elegendő itt egyszerűen meghatározni a NIS domain-t, esetleg kiegészítő műveleteket kell végezned, mielőtt az nfsd valójában kapcsolatba tud lépni a szerverrel. Ha a disztribúciód NYS könyvtárakat használ, akkor meghatározhatsz egy vagy több NIS szervert a kliensek doman-jében a /etc/yp.conf fájlban. Ha egy más NIS könyvtárat használsz, akkor lehet, hogy be kell szerezned egy speciális démont, ypbind(8), amit az yp.conf fájlon keresztül lehet konfigurálni.
anonuid és anongid
ezek az opciók expliciten meghatározzák az anonymous account UID-jét és GID-jét. Ez az opció elsődlegesen hasznos a PC/NFS klienseknek, ahol előfordulhat, hogy az összes kérést egy felhasználótól várod. Például az alábbi példában a /home/joe sorban minden kérés le van képezve 150-es UID-re és 100-as GID-re. Példa:
# példa /etc/exports fájl
/               master(rw) trusty(rw,no_root_squash)
/projects       proj*.local.domain(rw)
/usr            *.local.domain(ro) @trusted(rw)
/home/joe       pc001(rw,all_squash,anonuid=150,anongid=100)
/pub            (ro,insecure,all_squash)
/pub/private    (noaccess)
Az első sorban a teljes fájlrendszer exportálva van a master és a trusty gépeknek. Azonkívül írásjoguk van, és minden UID összerendelés ki van kapcsolva a trusty gépen. A második és harmadik sor a helyettesítő karakterek használatára mutat példát, gépneveknél és hálózati csoportoknál (ez a @trusted). A negyedik sor mutatja a PC/NFS kliensek tárgyalását. Az ötödik sor exportál egy nyilvános FTP könyvtárat mindenki számára a világon, minden kérést a nobody account jogaival hajt végre. Az insecure opció ebben a sorban engedélyezi a klienseknek, hogy nem fenntartott portról érkezzen az NFS kérés. Az utolsó sor minden NFS kliensnek megtiltja a hozzáférést a /pub/private könyvtárhoz.


next up previous index
Következő: 15.40.5 FIGYELMEZTETÉSEK Fel: 15.40.4 OPCIÓK Előző: 15.40.4 OPCIÓK   Index

1999-09-17