Sziasztok!
Szeretnék csinálni egy olyan php oldalt, ami végretudná hajtani, egy az /etc/init.d -ben lévő process újraindítását, vagy leállítását meghívásakor. Ha végrehajtja a parancsot, mindig azt kapom vissza, hogy Csak a root felhasználó indíthat el init szolgáltatásokat. Hogy lehetne megoldani, hogy az init service elinduljon/újrainduljon , mégha weben is hívom meg ezt az oldalt?
ezt a parancsot használom:
$parancs3 = system('/etc/init.d/xxx restart', $vissza_ertek3);
Előre is köszönöm a hozzászólásokat!:)
- 1098 megtekintés
Hozzászólások
bedobod oket egy listaba, a cron meg szepen kiszedi belole percenkent es lefuttatja...
- A hozzászóláshoz be kell jelentkezni
jahh. vagy ha csak 1 démonról van szó. létrehoz egy akármilyen fájlt a php oldal, amiben mondjuk az van hogy igen. a cronos shell szkript percenként lefut rootként semmi mást nem csinál, mint beolvassa azt az egy darab szöveg vagy akrámilyen filet és ha a tartalma "igen", akkor újraindítja a daemont majd visszállítja a szövegfile tartalmát "nem"re, egyébként sleep 1 -et csinál. :)
persze ez nagyon gányolás. de megoldja a jogosultsági gondokat, és újraindítja a daemont is.
--------
Nem a zsömle kicsi, a pofátok nagy...
- A hozzászóláshoz be kell jelentkezni
Hello Oscon! Igen, csak egy démonról volna szó, szóval elegendő lenne ez a megoldás is.
Viszont még nem használtam a cront eddig, nem igazán tudom hogy kellene "beledobni" as szkriptet, meg azt sem tudom, hogy meglehet-e hívni egy percnél kisebb intervallumonként, pl 5 másodpercenként a szkriptet.
Valaki nem tud véletlen cronhoz egy jó HOWTO-t, amiben ezek levannak írva?
Köszönöm mindenkinek a válaszokat, boldog Mikulást! :D
- A hozzászóláshoz be kell jelentkezni
Raksz a cronba egy sort, ami lefuttat 1 scriptet, a script megnezi letezik-e a file, es lefuttatja a benne levo parancsot, vagy barmi ilyesmi.
Amennyire tudom cronban a legkisebb idotartam az 1 perc.
Arra azert vigyazz, mind script, mind jogosultsag teren, hogy ehhez senki ne ferjen hozza...
Cronba ilyet rakni szerintem eletveszely :o)
- A hozzászóláshoz be kell jelentkezni
-megszerkeszt /etc/sudoers és NOPASSWD beállít a felhasználónak erre a parancsra.
-utána átír system parancs, hogyaszonygya system("sudo blablabla",$blabla_ret)
- A hozzászóláshoz be kell jelentkezni
ez veszelyes lehet, mert a webes cuccok (apache, igy a php is) "www-data" user alatt futnak (akarki eseteben, tehat a szemelyes honlapok, szerver/~pistike is), igy annak kene jogot adni. az meg pont emiatt nem jo, mert ha egyik juzer el tudja inditani akkor a masik is...
- A hozzászóláshoz be kell jelentkezni
ja, igazabol ez az egesz fabol vaskarika sajnos...
- A hozzászóláshoz be kell jelentkezni
És mi van akkor ha vmi PAM alapú HTTP auth-ot csinálok? Akkor nem személyesítődök meg a session idejére?
- A hozzászóláshoz be kell jelentkezni
Jo kerdes... Maga a pam konyvtar csak az autentikaciot vegzi. Pl. a shadow modul eseten, amennyiben a futo' processznek van joga turkalni az /etc/shadow-ban (gyk. tudja olvasni), akkor tudsz azonositani egy felhasznalot (csekkolni hogy a jelszava jo-e). De ettol me'g nem fogsz "azza' va'lni", es mivel nem vagy root, setuid()-ozni se tudsz. Azaz gyk a PAM arra jo, hogyha root vagy (pl. egy sshd vagy egy getty), akkor tudod autentikalni a juzereket _es_ tudsz uj processzeket inditani az adotot juzer neve'ben. Ebbol sajnos egyik sem igaz egy www-data-kent futo' apache-ra.
A.
- A hozzászóláshoz be kell jelentkezni
Erre azert intelligensebb megoldasok is vannak. :-)
En a DBUS-t hasznalnam. /*Kell, hogy legyen PHP bindings is hozza.*/
A PHP oldalrol csak beledobsz neki egy parancsot a dbus queue-ba. Csinalsz egy egyszeru rc daemont is ami root jogokkal fut es figyeli a dbus-t. Ha megkapja az ujrainditasi uzenetedet, akkor ujrainditja az akalmazast. Meg parametert is adhatsz neki, hogy melyiket inditsa. :-)
Minél korszakalkotóbb ötlettel állsz elő, annál több hülyén kell átverekedned magadat.
- A hozzászóláshoz be kell jelentkezni
Van olyasmi is, hogy phpsu. Azzal elvileg megoldható biztonságosan.
- A hozzászóláshoz be kell jelentkezni
Ez gondolom valami olyasmi, hogy minden meghíváskor authentikációt kér, ugye? Nem tudsz róla véletlen egy leírást valahol?
- A hozzászóláshoz be kell jelentkezni
Nem suphp?
http://www.suphp.org/Home.html
- A hozzászóláshoz be kell jelentkezni