egy user csak 32 csoport tagja lehet! (ex groups hiba)

Fórumok

egy user csak 32 csoport tagja lehet! (ex groups hiba)

Hozzászólások

A hiba (korlát) rövid ismertetését az alábbi hozzászólásban találjátok:
http://hup.hu/modules.php?name=Forums&file=viewtopic&p=32889#32889

-----

Sziasztok!

Adott egy debian woody, amin az apache wwwdata usernévvel fut. Hozzáadtam a rendszerhez egy új felhasználót (legyen neve newuser), és a wwwdata usert hozzáadtam a newuser group-hoz, hogy az általa feltöltött fájlok elérhetők legyenek a weben (persze apache stop+start is volt).
Nem megy (permission denied), pedig korábban is ugyanígy csináltam. :(

Amire jutottam: `su - wwwdata` után a `groups` parancs nem írja ki, hogy a wwwdata tagja lenne a newuser group-nak, de a `groups wwwdata` igen.

Találkozott már valamelyikőtök hasonló problémával? Valami ötlet, hogy hogy lehetne megoldani (lehetőleg reboot nélkül)?

kösz,
Doma

rootként nyomhatsz "groups usernév"-t is, egyszerűbb mint mindig su-val a céluserré válni. egyébként ha úgy tűnik neked, hogy a usered nincs benne a groupban, akkor miért kellene szerinted működnie az egésznek (hacsak a létrehozott fileokra az othernél a read bit nincs bekapcsolva)? mindenképp usermod-dal tedd bele a usert a groupba, majd még mindig rootként nézd meg valóban bele lett e téve abba a groupba az wwwdata.
remélem sikerül.

grpck pwck parancsok dobnak valami hibat?

[quote:84da4afcab="wry"]rootként nyomhatsz "groups usernév"-t is, egyszerűbb mint mindig su-val a céluserré válni.

ezt mondom: rootként és wwwdata-ként is a `groups wwwdata` szerint benne van, de wwwdata-ként sima `groups` szerint nincs!

[quote:84da4afcab="wry"]egyébként ha úgy tűnik neked, hogy a usered nincs benne a groupban, akkor miért kellene szerinted működnie az egésznek (hacsak a létrehozott fileokra az othernél a read bit nincs bekapcsolva)?

nem tudom igazából, hogy benne van-e (ld. fentebb)

[quote:84da4afcab="wry"]mindenképp usermod-dal tedd bele a usert a groupba, majd még mindig rootként nézd meg valóban bele lett e téve abba a groupba az wwwdata.

úgy történt - és rootként úgy látszik, benne van (ld. fentebb)

[quote:84da4afcab="wry"]remélem sikerül.

kösz, én is! :)

[quote:8e0c140fc2="nug"]grpck pwck parancsok dobnak valami hibat?

nem, semmi hiba

Meglett a megoldás!

A hibát az okozta, hogy a Linux kernelek alapértelmezetten 32-re korlátozzák, hogy egy user hány csoportnak lehet tagja.
(A konkrét esetben a wwwdata user már tagja volt 32 másik csoportnak, így nem tudott a 33-nak is tagja lenni.)

Némi információ erről: http://radu.rendec.ines.ro/howto/32groups.html

üdv,
Doma

ha a "newuser" felhasználó csak a "newuser" csoportban van benne és a "wwwdata" olvasni akarja a fileokat, akkor ehhez neked csak annyi a dolgod, hogy a "wwwdata"-t beteszed a "newuser" csoportba, ahogyan te is mondtad.
ezt nézd meg:
# grep ^newuser /etc/group
ha ott van és a "newuser" és a "wwwdata" felhasználók vannak definiálva a groupon belül, akkor minden rendben van.
ekkor csak nézd meg a fileokat amelyeket el akarsz érni wwwdata-ként, vizsgáld meg, hogy be tudsz e oda lépdelni, ha pl browseren keresztül látod a fileokat, akkor nézd meg (shellből), hogy a fileokon a csoportjogosultságok rendben lettek e definiálva (csoport olvasási jog meg lett e adva) és hogy a fileokat valóban a newuser nevű csoport birtokolja e. egyébként ha egyszerűen wwwdata felhasználóvá válsz és tudod olvasni/másolni a fileokat, akkor az is lehet, hogy a httpd a gépeden nem wwwdata userként fut (ennek nézz után a config fileokban).
sok sikert.

[quote:b509181df3="wry"]ha a "newuser" felhasználó csak a "newuser" csoportban van benne és a "wwwdata" olvasni akarja a fileokat, akkor ehhez neked csak annyi a dolgod, hogy a "wwwdata"-t beteszed a "newuser" csoportba, ahogyan te is mondtad.
ezt nézd meg:
# grep ^newuser /etc/group
ha ott van és a "newuser" és a "wwwdata" felhasználók vannak definiálva a groupon belül, akkor minden rendben van.

eddig minden megvan, mégsem jó

[quote:b509181df3="wry"]ekkor csak nézd meg a fileokat amelyeket el akarsz érni wwwdata-ként, vizsgáld meg, hogy be tudsz e oda lépdelni, ha pl browseren keresztül látod a fileokat, akkor nézd meg (shellből), hogy a fileokon a csoportjogosultságok rendben lettek e definiálva (csoport olvasási jog meg lett e adva) és hogy a fileokat valóban a newuser nevű csoport birtokolja e. egyébként ha egyszerűen wwwdata felhasználóvá válsz és tudod olvasni/másolni a fileokat, akkor az is lehet, hogy a httpd a gépeden nem wwwdata userként fut (ennek nézz után a config fileokban).
sok sikert.

a httpd biztosan apache néven fut. és wwwdata-vá válván nem látom a fájlokat - mintha nem lenne tagja a newuser csoportnak. pedig a `groups wwwdata` szerint meg tagja...

köszi nagyon a segítséget! csak úgy tűnik, ez nem valami triviális probléma (pl. nem megfelelő fájl-jogosultságok) - nem véletlenül írtam a haladó témák közé...

Doma

akkor valamit nem értek...
te ezt írtad az első hozzászólásban:
Adott egy debian woody, amin az apache wwwdata usernévvel fut.
ha ez valóban így van, akkor nem értem miért mondtad az utolsó hozzászólásodban azt, hogy:
a httpd biztosan apache néven fut
ezt elmagyaráznád? :)
ugyanis ha a httpd az "apache" user nevében fut, akkor nem a "wwwdata" user nevében fut és ez esetben az apache-ot tedd a newuser csoportba persze.

[quote:d75d2db573="wry"]akkor valamit nem értek...
te ezt írtad az első hozzászólásban:
Adott egy debian woody, amin az apache wwwdata usernévvel fut.
ha ez valóban így van, akkor nem értem miért mondtad az utolsó hozzászólásodban azt, hogy:
a httpd biztosan apache néven fut
ezt elmagyaráznád? :)
ugyanis ha a httpd az "apache" user nevében fut, akkor nem a "wwwdata" user nevében fut és ez esetben az apache-ot tedd a newuser csoportba persze.

bocs, elgépeltem. a httpd (az apache) természetesen wwwdata userként fut.

a httpd biztosan apache néven fut. és wwwdata-vá válván nem látom a fájlokat - mintha nem lenne tagja a newuser csoportnak. pedig a `groups wwwdata` szerint meg tagja...
várj.. az, hogy "nem látod a fileokat" ez pontosan hol akad el? könyvtárat még eléred? ugyanis a fileokat akkor is látnod kell (ls) ha nem tudod őket olvasni. mindenképp lépdelj be könyvtárról-könyvtárra a wwwdata userrel és írd ide be hol akad el az egész. ha bármelyik könyvtárba nem tudsz belépni, akkor arra adj olyan jogosultságokat amelyeknek fényében már be tudsz lépni a wwwdata userrel (pl vagy chgrp newuser és a csoport olvasójogok rendben, vagy +r az othernek).

[quote:416369f4f4="wry"]a httpd biztosan apache néven fut. és wwwdata-vá válván nem látom a fájlokat - mintha nem lenne tagja a newuser csoportnak. pedig a `groups wwwdata` szerint meg tagja...
várj.. az, hogy "nem látod a fileokat" ez pontosan hol akad el? könyvtárat még eléred? ugyanis a fileokat akkor is látnod kell (ls) ha nem tudod őket olvasni. mindenképp lépdelj be könyvtárról-könyvtárra a wwwdata userrel és írd ide be hol akad el az egész. ha bármelyik könyvtárba nem tudsz belépni, akkor arra adj olyan jogosultságokat amelyeknek fényében már be tudsz lépni a wwwdata userrel (pl vagy chgrp newuser és a csoport olvasójogok rendben, vagy +r az othernek).

már a könyvtár sem megy. de nem a jogosultságokkal van a gond!

az a baj, hogy a `groups wwwdata`-t tetszőleges userként kiadva (akár root-ként, akár wwwdata-ként) kiírja a newusert is (azaz wwwdata tagja a newuser groupnak), de wwwdata userre váltva (`su - wwwdata`) a sima, paraméter nélküli `groups` nem írja ki a newuser-t (mintha nem lenne tagja wwwdata a newuser groupnak). és úgy is viselkedik, mintha nem lenne tagja.

Doma

amennyire én tudom - javítsatok ki, ha rosszul - de azt, hogy te vagy más tagja e egy bizonyos csoportnak azt onnan tudod meg, hogy a /etc/group filet tudod e olvasni (most nem megyek bele a gshadow fileba stb, ha minden flottul megy a group és a gshadow egyeznek és egyedül jelszavas groupok esetén van különbség).
ergo... ha te azt mondod wwwdata userként, hogy grep ^newuser /etc/group , akkor valamit látnod kell, ha nem látsz semmit, akkor a névfeloldással gondod lesz, de ez nem kellene, hogy okozzon semmi problémát filesystem szinten, mivel ott uid/gid-ek szerint megy a dolog. tehát ez nem kellene, hogy megakadályozzon abban, el tudsz e érni egy bizonyos könyvtárat így nem evvel van gondod. ez max annyit tesz, hogy a /etc/group filet nem tudod olvasni (ezen változtathatsz, amennyire én tudom ez nem biztonsági hiba, max ha a jelszavakat is ott tárolod, de így tippre szerintem shadow-t használsz :)).
nos ennyi volna.. üdv neked és én mentem aludni :)

hmm közben eszembe jutott még egy valami.
lehetséges, hogy maga az apache nem képes leellenőrizni mi az egyes groupok gidje, mert a wwwdata user nem képes olvasni a /etc/group filet - és így természetesen neked van igazad.
javaslom állítsd át mondjuk
chmod 0644 /etc/group
paranccsal a jogosultságokat a group fileon, bár nem értem akkor meg a többi user hogyan tudja olvasni a filet...
nos.. több sikert neked, télleg mentem aludni :)

wwwdata a /etc/group-ot tudja olvasni, és látja is benne a megfelelő sort, mégsem érzi magát a newuser group tagjának.
kínomban próbáltam egy reboot-ot, de az sem segített. :(

valami ötletetek nincs még?

kösz a megoldás megosztásáért, én nem tudtam róla.