Archívum - Okt 20, 2017
Process futtatása más felhasználóval (PHP, Apache2 és php-fpm)
Üdv mindenkinek!
Debian alatt szeretnék futtatni cli parancsokat php-vel, egy bizonyos felhasználóval.
Jelenlegi állás szerint Apache2 van felrakva fcgid-vel, ami a megfelelő php-fpm pool-lal kommunikál. Ez a pool "webuser" felhasználóval és "www-data" csoporttal fut.
Ha ebben az esetben futtatok egy parancsot, akkor az ugyan ezzel a felhasználóval fog futni. Ez az, amin változtatni szeretnék. /webuser helyett www-data felhasználóval szeretném futtatni a parancsot, sudo nélkül/
Processz indulásakor nem várok annak a befejeződésére, hanem a háttérbe passzolom, valamint kiíratom a PID-t, amit eltárolok, és az szerint ellenőrzöm, hogy fut-e még.
/Mielőtt nekiálltam sudo-t használni, minden működött./
Gondoltam, "sudo -u www-data" -val megoldódik minden problémám, de azt nem vettem számításba, hogy az overhead mellett így a sudo pid-jét kapom vissza. Ezt hiába lövöm le, az általa futtatott processz tovább fut.
Hogy lenne a legcélszerűbb megoldani azt, hogy leállítható maradjon a sudo által futtatott folyamat illetve annak a pid-jét kapjam vissza?
Extra info:
A parancsokat az exec() függvénnyel adom ki.
Startnál basically: sudo -u www-data **COMMAND** > /dev/null 2>&1 & echo $!
- pid lementve
Stop: sudo kill **PID** -10mp várakozás- ha nem állt le: sudo kill -9 **PID**
■ Debian alatt szeretnék futtatni cli parancsokat php-vel, egy bizonyos felhasználóval.
Jelenlegi állás szerint Apache2 van felrakva fcgid-vel, ami a megfelelő php-fpm pool-lal kommunikál. Ez a pool "webuser" felhasználóval és "www-data" csoporttal fut.
Ha ebben az esetben futtatok egy parancsot, akkor az ugyan ezzel a felhasználóval fog futni. Ez az, amin változtatni szeretnék. /webuser helyett www-data felhasználóval szeretném futtatni a parancsot, sudo nélkül/
Processz indulásakor nem várok annak a befejeződésére, hanem a háttérbe passzolom, valamint kiíratom a PID-t, amit eltárolok, és az szerint ellenőrzöm, hogy fut-e még.
/Mielőtt nekiálltam sudo-t használni, minden működött./
Gondoltam, "sudo -u www-data" -val megoldódik minden problémám, de azt nem vettem számításba, hogy az overhead mellett így a sudo pid-jét kapom vissza. Ezt hiába lövöm le, az általa futtatott processz tovább fut.
Hogy lenne a legcélszerűbb megoldani azt, hogy leállítható maradjon a sudo által futtatott folyamat illetve annak a pid-jét kapjam vissza?
Extra info:
A parancsokat az exec() függvénnyel adom ki.
Startnál basically: sudo -u www-data **COMMAND** > /dev/null 2>&1 & echo $!
- pid lementve
Stop: sudo kill **PID** -10mp várakozás- ha nem állt le: sudo kill -9 **PID**