Miten onnistuisin etänä sammuttamaan koneeni. Käyttis on Ubuntu 8.10 ja siihen on asennettu apache.
Saisko toimimaan niin että kännykällä avaisin palvelimelta jonkin php-skriptin ja se sammuttaisi tietokoneen?
system('sudo shutdown -h now');
Sitten vaan PHP:n tunnukselle sudotusoikeus shutdowniin.
Miten oikeudet annetaan PHP tunnukselle?
No ihan samoin kuin mille tahansa muullekin käyttäjälle.
https://help.ubuntu.com/community/Sudoers
Mielestäni jossain distroissa shutdowniin on sudottamisoikeus vakiona kaikilla, eli välttämättä ei tarvitse tehdä mitään.
Laita /etc/sudoers-tiedostoon
tunnus ALL=(ALL) NOPASSWD: /sbin/shutdown \-[A-z] [A-z]*
Tunnus saattais olla wwwrun. Kattele, millä käyttäjällä sitä Apachea oikeasti ajetaan (ps aux|grep apache
)
Ja korjakkaa, jos tuo mun regexpi meni väärin, en jaksa testata.
Yritin seuraavaa, mutta ei toiminut. Missäköhän menee pieleen?
1. Avasin ensin päätteessä tiedoston sudoers.tmp:
gksu visudo
2. Lisäsin rivin tiedoston loppun:
www-data ALL=(ALL) NOPASSWD: /sbin/shutdown \-[A-z] [A-z]*
3. Tallensin tiedoston.
4. Avasin selaimella php-tiedoston jossa koodi:
<?php system('sudo shutdown -h now'); ?>
No tuliko tuosta virheilmoitus ja jos tuli, niin mikä?
Mahdollisia ongelmia, mitä tulee mieleen
1) PHP:ssä on estetty system käyttö
2) sudo tai shutdown eivät löydy polun varrelta (yksi ratkaisu on laittaa suorat polut)
3) sudoers muutos ei toiminut. Tätä voisi ehkä testata vaihtamalla php-prosessin käyttäjksi ja testaamalla komentoriviltä.
Nyt sain toimimaan(tai sitten kone muuten vain kaatui:D)! Lisäsin tiedoston loppuun:
Cmnd_Alias SHUTDOWN_CMDS = /sbin/shutdown, /sbin/halt, /sbin/reboot
www-data ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS
Aika cooli... :D Tätä oon itekki monesti miettiny..
Jos tämä onnistuisi nettipalvelimelta, olisi jännää tehdä kaikkea ilkeyttä ;D
ankzilla kirjoitti:
Jos tämä onnistuisi nettipalvelimelta, olisi jännää tehdä kaikkea ilkeyttä ;D
Vielä jännempää on olla adminina bannimassa tommosia tyyppejä.
ankzilla kirjoitti:
Aika cooli... :D Tätä oon itekki monesti miettiny..
Jos tämä onnistuisi nettipalvelimelta, olisi jännää tehdä kaikkea ilkeyttä ;D
Hyvin onnistuu millä tahansa palvelimella (pienin muutoksin). Tarvittavat esivalmistelut vain vaativat ylläpitäjän oikeudet, enkä yhtään ihmettele sitä, miksei sinulla sellaisia ole. :-/ ;-)
Oikea vastaus: Webmin :>
eq kirjoitti:
ankzilla kirjoitti:
Aika cooli... :D Tätä oon itekki monesti miettiny..
Jos tämä onnistuisi nettipalvelimelta, olisi jännää tehdä kaikkea ilkeyttä ;D
Hyvin onnistuu millä tahansa palvelimella (pienin muutoksin). Tarvittavat esivalmistelut vain vaativat ylläpitäjän oikeudet, enkä yhtään ihmettele sitä, miksei sinulla sellaisia ole. :-/ ;-)
Joku tosikkopäivä toi aprillipäivä? Kamoon.
Aihe on jo aika vanha, joten et voi enää vastata siihen.