rendszer folyamat a start-stop-daemon -nal

Fórumok

rendszer folyamat a start-stop-daemon -nal

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:

http://216.239.59.104/search?q=cache:BN193Gklud4J:lists.debian.org/debian-dpkg/2005/02/msg00099.html+%22start-stop-daemon%22+%22HOME%22&hl=hu

Mitévő legyek?

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]

[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?