Szimbólikus link helyett "mount --bind", mert profibb megoldás...

Fórumok

Sziasztok,

régebbi fórumban olvastam, hogy szimbólikus link helyett használjak inkább "mount --bind" megoldást, mert ez profibb megoldás. Erre vonatkozóan szeretnék tanácsot kérni, hogy hogyan kell ezt használni és miért jobb, mint a szimbólikus link (esetleg, ha küldenétek valami jó leírást a témával kapcsolatban).

Jelenleg a smb.conf-ban így használom a rendszert:
'path = /server/users/%U/'

A user könyvtárba a usereket létrehozom és alájuk másolom a szimbólikus linkeket. Így a userek csak azokat a könyvtárakat láthatják, amely szimbólikus link szerepel.

Kérdésem a "mount --bind" mivel másabb, hogyan lehet használni? Hogyan lehet automatikusan csatolni újra indításkor (pl: /etc/fstab, vagy lehet máshol is szabályozni a hozzáféréseket)? Hogyan lesz áttekinthetőbb ez a megoldás?

Üdv.

KALMI

Hozzászólások

Biztonsági okokból a szervereken le szokták tiltani a symlink követést, ugyanis egyszerű userként létrehozhatsz home könyvtáron kívülre mutató symlinket. Nyilván, ha figyeltél a jogosultságokra, akkor ez nem probléma, de jobb az elővigyázatosság.
Ha nem tiltod le a symlink követést a szerverben, vagy a usereknek nincs terminál hozzáférése, akkor mindegy (javítsatok ki, ha tévedek).
Mountolni viszont (alapból) csak a root tud. Terminálból:
mount --bind honnan_könyvtár hova_könyvtár
(vagy mount -o bind vagy mount -B)
fstab-ban:
honnan_könyvtár hova_könyvtár none bind 0 0
(tehát fájlrendszer nincs, opciók közt bind és nincs fsck)

A te esetedben én maradnék a symlinkes megoldásnál (főleg ha sok user van), csak oda kell figyelni, hogy a jogosultságok fájlrendszer szinten helyesen legyenek beállítva (owner, group, jogosultsági bitek, ACL-ek).

Ha ACL-t használsz, akkor az a legegyszerűbb, ha mindenhol root:root owner-t használsz 0750/0640 maszkkal, és ACL-en keresztül osztasz jogot a megfelelő felhasználóknak ("man setfacl").

Olyan is van, amikor muszáj mount bind-ot használni, pl. chroot-olt FTP eléréseknél, ahol nem lehet másképp a home könyvtár felett lévő útvonalakat elérni. Egyszer használtam ilyet egy szerveren, ahol meglévő FTP hozzáférésen keresztül akarták elérni a /usr/lib/cgi-bin könyvtár alatti alkönyvtárat, akkor nagy hasznát vettem, egyébként nem sűrűn használom. Szerintem egyszerűbb symlinkeket használni, egy helyesen konfigurált szerveren ez nem szabad, hogy biztonsági kockázatot jelentsen.

Ha nem tiltod le a symlink követést a szerverben, vagy a usereknek nincs terminál hozzáférése, akkor mindegy

Ezzel az a baj, hogy a symlink követést nem mindig lehet letiltani, pl. a mod_rewrite csak úgy működik, ha engedélyezed a "FollowSymLinks" opciót is az adott könyvtárra (az aggódósabb rendszergazdáknak "SymLinksIfOwnerMatch"). A user terminál hozzáférése szerintem ez esetben nem releváns, hiszen egy webtárhelyre is tudsz kifelé mutató symlinket létrehozni, amivel mondjuk listázhatod az /etc/passwd tartalmát egy szimpla PHP-kóddal, ha nincsenek rendesen lekorlátozva a jogosultságok.