`sudo /sbin/reboot`

ps1234

New Member
Hallo,

ich möchte über ein Webfrontend eine OpenBSD Box rebooten.

hierzu erlaube ich dem Apache User den reboot auszulösen:
/etc/sudoers: "apache ALL=(root) NOPASSWD: /sbin/reboot"

allergings funktioniert dies nur, wenn ich auf der shell als apache
user /sbin/reboot aufrufe (su - apache; sudo/sbin/reboot), jedoch nicht
wenn über das Webfrontend /sbin/reboot aufgerufen wird. Es werden
alle Prozesses bis auf den /sbin/init Prozess beendet, jedoch wird das
rebooten des System nicht durchgeführt.


Gruß,
ps1234

PS: es handelt sich nicht um den OpenBSD Aapache, sondern um eine eigene installation.
 
Verwendest du eine CGI oder ein APACHE Modul? Du musst herausfinden unter welchem Benutzer dein Skript aufgerufen wird.
 
installiert ist Apache+PHP, läuft unter dem Username apache.

im php script wird folgendes ausgeführt: exec(escapeshellcmd("/usr/bin/sudo /sbin/reboot"))

der apache user bekommt das recht via /etc/sudoers: "apache ALL=(root) NOPASSWD: /sbin/reboot"

nun, wenn ich auf der shell das ganze mit "sudo - apache; /usr/bin/sudo /sbin/reboot" teste, funktioniert der reboot.
Führe ich aber das php-script aus, dann werden alle processe bis auf den init process beendet und das system bleibt stehen, bzw führ keinen reboot durch.

ich verstehe nicht wo da der unterschied liegt.
 
Wäre ein 'shutdown -r now' nicht eh besser?

Dann müsst auch das init einen sigterm bekommen.
 
ok. Ich dachte da wäre noch ein kill -9 drin.
Kommt davon wenn man keine Quelltexte liest ;)

Würde mich aber schon interessieren woher der OP weiß, das nur noch der init Prozess läuft.
Ähnliches problem hab ich nämlich bei meinem Shuttle: Den krieg ich auch nicht rebootet sondern nur angehalten.
 
@SierraX
Versuch' doch bitte mal ob Du mit der Aenderung der BIOS-Einstellungen
weiterkommst. Genaue Punkte kann ich Dir da leider nicht nennen,
dazu sind die BIOS'se zu verschieden. Suche mal nach Eintraegen wie:
Power, Power off, Restart after Power loss, Standby, etc.
 
Gelöst

Gelöst: wenn anstelle von `/sbin/reboot`, ` /sbin/shutdown -r now` im script aufgerufen wird, dann wird auch der init prozess beendet und die maschine rebootet.
 
:p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p :p

AUCH EIN BLINDES HUHN FINDET MAL EIN KORN

Ob es jetzt die richtige Begründung da oben war ist ja wurscht ;)
 
Zurück
Oben