Hozzászólások
Üdv mindenkinek!
Egy kis segítséget szeretnék kérni.
Készítettem egy szkriptet ami az init során indít egy
rendszerfolyamatot a start-stop-daemon -nal.
A problémám az hogy a start-stop-daemon nem állítja be a környezeti változókat
annak ellenére hogy megadom a felhasználót / csoportot a
-c $User:$Group kapcsolóval.
Ha a start-stop-daemon által elindított szkriptben lekérdezem,
a változókat akkor ezt kapom.
[code:1:6d6eb944fe]
HZ=100
SHELL=/bin/bash
TERM=xterm
USER=root
MAIL=/var/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
PWD=/
SHLVL=3
HOME=/root
LOGNAME=root
_=/usr/bin/env
[/code:1:6d6eb944fe]
Tehát az USER és HOME változók tartalma nem megfelelő.
A kérdésem az, hogy most én rontok el valamit vagy ez így
működik rendesen?
A neten keresgélve ezt találtam:
Mitévő legyek?
- A hozzászóláshoz be kell jelentkezni
Nem teljesen világos a problémád. Globálissá szeretnéd tenni őket? Mert akkor az export a te barátod.
[code:1:10d464f997]USER=root
HOME=/root
export USER HOME[/code:1:10d464f997]
- A hozzászóláshoz be kell jelentkezni
[quote:dabb6850ea="begin"]Nem teljesen világos a problémád. Globálissá szeretnéd tenni őket?
Nem. Akkor kicsit részletesebben...
Az init lefutásakor a root indítja el a folyamatot a start-stop-daemon -nal úgy hogy egy másik felhasználó nevében fusson.
Eddig minden rendben is van. Ha megnézem a processz listát
akkor a megadott felhasználó nevében / jogaival fut a program
és nem a root nevében.
A gond az, hogy például a HOME és az USER környezeti változók
nincsenek megfelelően beállítva a start-stop-daemon által, mert
nem a megadott felhasználó szerinti, hanem továbbra is a
root-nak megfelelő értékek vannak bennük.
Tehát ha a démonként elindított program megvizsgálja a
változókat akkor azt látja hogy a root indította el és a root
home-könytára az ő home könyvtára. Annak ellenére hogy
nem a root nevében fut.
Ráadásul a psql -en keresztül szeretnék adatokat bevinni
egy adatbázisba és a psql az őt elindító felhasználó home
könyvtárában keresi a .pgpass állományt. Amit ugye nem
fog találni mert a HOME mindíg a /root -ra mutat,
hála a start-stop-daemon -nak.
Tehát azt szeretném kérdezni hogy ha esetleg más is
találkozott ezzel a problémával akkor hogyan oldotta meg.
Végső esetben megadhatom én kézzel az értéküket, de ha
csak én rontottam el valamit és azért nem jó a start-stop-daemon
szerint akkor világosítsatok fel legyetek szívesek hogy mit csinálok rosszul.
Illetve nem értem azt hogy ha a kugli által megtalált oldalon
javasolt patch több hónapos, akkor miért nem került
bele az aktuális Debian (sarge) start-stop-daemon -jába?
- A hozzászóláshoz be kell jelentkezni