Courier IMAP és ACL

 ( littlet | 2009. június 22., hétfő - 15:13 )

Sziasztok!

A probléma a következő:

Kialakítottam egy osztott mappát az IMAP szerver alatt úgy, hogy az adott user könyvtárába beraktam a "shared-maildirs" filet a következő tartalommal:

MEGOSZTÁSINÉV /ELÉRÉSI/ÚT/ITT

Ez ugyebár a diszken lévő jogokkal apellál, tehát ha a megadott út alatt a könyvtárak/fileok elérhetőek, minden gond nélkül fel tudom őket venni. Ez eddig működik is.

Miután ez megvolt egy GetMAIL-el elkezdtem leszinkronizálni az adott user könyvtáraiba a neki szóló leveleket egy központi szerverről. A GetMAIL nem közvetlenül pakol a könyvtárba, hanem a PostFix-en keresztül. Innentől kezdődnek a bajok, mivel a jogok a fileokok úgy jönnek létre, hogy csak az adott user tud velük bármit is csinálni.

Erre akartam belőni az ACL-t IMAP alatt, de egyszerűen nem akar összejönni. Beállítottam az "imapd-ssl" file alatt a következőket,

IMAP_ACL=1
IMAP_SHAREDINDEXFILE=/etc/courier/share/index.db

majd létrehoztam és kitöltöttem az "index.db" filet. Megpróbáltam elvenni és hozzáadni jogokat az IMAP userekhez, s sikerült is, de ThunderBird mégsem látja, amit neki kellene.

Befejezésnek még annyit, hogy minden user MySQL alól kezelődik PostFix és IMAP alatt is, s mindenkinek egyedi UID/GID-je van.

Ha valaki már szívott ilyennel, s jutott valami, kérem jelezze.
ThundeBird alá akartam IMAP ACL plugint rakni, de nem sikerült.

Előre is köszönöm: LittleT!

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

nem teljesen világos a scenario.

ha mindenkinek saját UID/GID-je van, és nincs csoport általi/world általi r/w jog, akkor persze hogy nem látod másik UID/GID-ből.

az ACL akkor működik, ha a file jogosultságok nem akadályozzák a műveleteket.

>ACL akkor működik, ha a file jogosultságok nem akadályozzák

Azt hittem eddig, hogy az ACL-ek itt felül maszkolják a filerendszer jogokat. Akkor ez már érthető, miért nem megy. OK.

Akkor viszont a következő a probléma:

A PostFix mikor megkapja a levelet szépen ki is küldi a megfelelő fiókba. Az UID/GID párosnak azt adja, amit a virtuális táblában a usernek én adtam, de a jogok terén csak 600-t kapnak a fileok. Ezek szerint csak ez a probléma, de hogyan tudom a PostFix-et rábírni, hogy a jogokat is állítsa át, mondjuk 644-re.

Jó lehet, ha a PostFix-hez írok egy filtert? Meg lehet azzal oldani a problémát?

> Azt hittem eddig, hogy az ACL-ek itt felül maszkolják a filerendszer
> jogokat. Akkor ez már érthető, miért nem megy. OK.

ha egyszer a postfix delivery programjának, illetőleg a couriernek (amik kutyaközönséges nem-root UID/GID-ből futó userspace programok) nincs joguk hozzáférni egy fájlhoz (merthogy a fájlrendszer jogosultságokat a kernel biztosítja) kapsz egy permission denied-ot, és kész.

> A PostFix mikor megkapja a levelet szépen ki is küldi a megfelelő
> fiókba. Az UID/GID párosnak azt adja, amit a virtuális táblában a
> usernek én adtam, de a jogok terén csak 600-t kapnak a fileok. Ezek
> szerint csak ez a probléma, de hogyan tudom a PostFix-et rábírni, hogy
> a jogokat is állítsa át, mondjuk 644-re.

ezt a local delivery agent dokumentációjában keresd. a sima "virtual" delivery agent-et nem ismerem, de ha pl. maildrop-ot vagy procmailt használsz, azoknak a konfigjában garantáltan tudsz umask-ot állítani.

Ok, de ha mondjuk ProcMail-el fogom meg a levelet, az is vissza adja a PostFix-nek tároláskor, nem? Onnan pedig ugrott a struktúra.

NET-en többen is szeretnének ilyet, de nem igazán tudnak megoldást mondani Nekik sem. Onnan vettem a PostFix forrás hacket is, ami sajnos szintén nem működik.