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!
ezalatt mit értesz?
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
a korulmenyek ismeretenek hijan erdekelne, hogy mire gondolsz.
Tyrael
nopasswd
--
Debian lenny
amit először írtál az jó!
Már csak a karaktert kéne megoldanom:D
Fentebb már írták... gondold meg.
--
Debian lenny
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!!!!