[MEGOLDVA]www-data+screen

Fórumok

Hi!

Az lenne a kérdésem, hogy hogyan kell www-data-n keresztül pl screen-t használni phpból

pl:

<?php
shell_exec('sudo -u '.$wwwdata_user.' screen -S '.$screen_name.' -p 0 -X stuff "connect '.$ip.':'.$port.'^M"');
?>

a sudoers fájlba hogyan adjam meg, hogy jelszó nélkül futathassam ezt a parancsot?

(+1 ^M karaktert hogyan rakom be, mert terminálba oké hogy előbb ctrl+v aztán ctrl+m , de pico-t használok szerkesztőnek, a php-t meg windows alatt notepad++-ba írom)

Hozzászólások

Ennel nagyobb security bugot ritkan lat az ember ebben a formaban.
--
1 leszel vagy 0 élő vagy hulla!

Ez alatt azt ,hogy 1. Regen rossz ha a php hozza fer a rendszer cuccaihoz mivel eleg konnyen megtorhetove valik a szerver
2. Ahol a shell_exec fuggveny engedve van mar jo server nem lehet
3. Biztos ,hogy tudod mit csinalsz? Eloszor tisztazd magadba mit akkarsz csinalni es biztos , hogy van egy jobb megoldas ennel.Ha meg nem tudsz tedfel kerdesed es biztos addnak jobb tancsot itt a forumba.
--
1 leszel vagy 0 élő vagy hulla!

mint a peldakodbol latszik, webadmint csinalna jatekszerverhez.
shell_exec-nek atadott parametereket validalni kell (pl. escapeshellarg, escapeshellcmd pont erre valo).
shell_exec altalaban a shared hosting kornyezetben tiltott, ahol nem kell az atlagusernek programot futtatni a szerveren, itt szukseg van ra.
sudo csak azert van, hogy ne a www-data neveben fussanak a jatekszerverek, hanem kulon usereben.
ha meg az van a sudoersben, amit en diktaltam le Gab-nak, akkor csak a startup scriptre kapott jelszo nelkuli sudo-t csak a www-data a jatekszervert futtato user megszemelyesitesehez.
az adott megoldassal egyenerteku secure-abb megoldasrol en nem tudok, ha tudsz ilyet, avass be, mert engem is erdekelne, bar egyelore en shellbol adminolom a sajat szervereimet.

Tyrael

ja, neked Gab meg irtam meg a multkor hogy pl a
screen -S myscreen -X eval 'stuff stats\015'
formaban tudsz screen-re parancsot kuldeni.
^M == \015 == Carriage return == kocsivissza karakter
ha pedig space van az evalolando parancsban, ott \040-et kell hasznalnod helyette.
a szal pedig, amit a multkor emlitettem a hlds levlistarol:
http://forum.i3d.net/hlds-valve-linux-newsletter/42892-hlds_linux-rcon-…

Tyrael

köszönöm a segítséget!!!

Főleg Tyrael-nek!!!!