Mit php Linux neu starten

F

flugopa

Hallo,

ich würde gern per Weboberfläche + php mein Linux neu starten.
Geht das?
Hat eine/r ein Codeschnipsel für mich?
 
du kannst ein php skript als root laufen lassen mit

Code:
system('shutdown -r now');

allerdings sollte man solche spässe nicht machen...
vorallem sollte man keine php skripte als root laufen lassen.

Hab das grad in ner interaktiven shell getestet, was funktionieren würde, allerdings glaub ich nicht, dass du das auf nem webserver ausführen kannst.

lies dir aber dazu mal : http://de3.php.net/manual/de/function.system.php durch
 
Zuletzt bearbeitet:
Ist es nicht besser mit sudo die Rechte von /sbin/shutdown so zu bearbeiten, dass das Skript diesen Befehl ausführen darf?
 
du kannst ein php skript als root laufen lassen mit

Code:
system('shutdown -r now');

allerdings sollte man solche spässe nicht machen...
vorallem sollte man keine php skripte als root laufen lassen.

Hab das grad in ner interaktiven shell getestet, was funktionieren würde, allerdings glaub ich nicht, dass du das auf nem webserver ausführen kannst.

lies dir aber dazu mal : http://de3.php.net/manual/de/function.system.php durch

auf der console läuft der code.
ich hätte gern ein codeschnipsel der unter eine weboberfläche läuft.
ich würde gern von der ferne per web ein shellscript (solange meine php-kenntnisse gering sind) per web aufrufen.
 
Meinst du sowas, das wenn du nicht zu Hause bist, also an einem anderem Rechner
von diesem aus deinen Rechne zu Hause ausschalten kannst, über ein PHP Skript!? o.O
 
o.O
Würd mal sagen die Frage ist reichlich Sinnlos, wie willst du bitte den PHP Script zum laufen bringen?
Erstmal ist es ein generelles Sicherheitsproblem einen Script als root laufen zu lassen, aber dann noch die system() funktion offen?

Wenn du woanders bist kannst du dich genauso über SSH einloggen wie auch bei dir zu Hause, wenn du selber keinen Server hast kannst du es auch vergessen, kein normaler Hoster erlaubt die system() funktion.
 
Also wenn man sowas macht kann man sicherheitstechnisch wieder zu Windows Wechseln :D .
Da sollteste lieber ssh in netz verfügbar machen, n USB-Stick nehmen, PuTTY drauf machen und die kiste über ssh runter fahren.
 
Evtl. ist mein Anliegen nicht korrekt rübergekommen.

1. Linux + Webserver + php (nehme auch andere Progr.-Sprachen wie java, perl, u.s.w.)
2. Berechtigter User loggt sich per https auf eine Unterverz. des WWW ein.
3. Berechtiger User klick auf Button reboot.
4. es gibt kein Defaultgateway
5. SSH ist bekannt.
6. Sinn: die Sekr. soll die Möglichkeit bekommen den Server zu rebooten
und das ohne ein Lehrgang.

Frage:
Wo ist das Sicherheitsloch?
 
Sobald irgendein Server im Netz steht, wird er erstaunlich schnell Ziel von Attacken. Habe selbst seit geraumer Zeit mit einem Debianserver herumexperimentiert und war erstaunt, wie schnell der Server (nur mittelmäßig abgesichert) erfolgreich gehackt wurde, obwohl die Adresse nicht in Suchmaschinen eingetragen war. z.B. war der safe-mode in der php.ini ausgeschaltet. Ich an deiner Stelle wäre sauvorsichtig mit über Web-interface erreichbaren Systembefehlen ( ganz zu schweigen von der Funktion system() )

Solltest du unbedingt dein System via Webinterface erreichen wollen, geht das wie oben erwähnt über z.B. sudo. Da gibt es wiederum mehrere Möglichkeiten. z.B. kannst du das Programm sudo installieren (ist es meist sowieso schon). Unter Debian steht es z.B. als apt-Paket zur Verfügung. In der Konfiguration kannst du die Systembefehle-/ Programme (reboot) dann für den Nutzer, unter dem dein http-Server läuft (häufig www-data) u.a. als root freigeben. Von da an kann der http-Server mit php als root den Rechner rebooten ( genauso, wie jetzt dein php-Konsolenscript). Hoffe es hilft dir weiter. Ich würde dir aber, wie die anderen, aus eigener Erfahrung abraten, diese Variante zu nutzen. Eine vielleicht sicherere Möglichkeit, wäre, das php-Konsolenprogramm mit der obigen system() - Funktion für den Webserver als root freizugeben und dieses von einem anderen via web zugänglichen php-Script ausführen zu lassen.

Also: web-->php-script im Serverbereich(also unter www) --->sudoer root--->php-Kommandzeilenscript -->löst reboot aus.

Der Effekt ist, dass der Webserver "nur" das php-KommandozeilenScript als root ausführen kann, also jegliche andere system-Kommandos verschont bleiben und ansonsten unter seinen bisherigen eingeschränkten Nutzerrechten bleibt. Oder habe ich hier einen Denkfehler?? Unsicher bleibt meiner Meinung nach das ganze aber totzdem.
 
Evtl. ist mein Anliegen nicht korrekt rübergekommen.

1. Linux + Webserver + php (nehme auch andere Progr.-Sprachen wie java, perl, u.s.w.)
2. Berechtigter User loggt sich per https auf eine Unterverz. des WWW ein.
3. Berechtiger User klick auf Button reboot.
4. es gibt kein Defaultgateway
5. SSH ist bekannt.
6. Sinn: die Sekr. soll die Möglichkeit bekommen den Server zu rebooten
und das ohne ein Lehrgang.

Frage:
Wo ist das Sicherheitsloch?
Zur Frage Sicherheitsloch:
1. PHP ist als besonders sicher bekannt ;=
2. Unberechtigter User loggt sich per https auf eine Unterverz. des WWW ein.
3. SSH ist bekannt, wird aber nicht verwendet ->zu sicher.
3. Unberechtiger User klick auf Button reboot.
6. Sinn: die Sekr. (und so einige andere auch) soll die Möglichkeit bekommen den Server zu rebooten
und das ohne ein Lehrgang.

Fröhliches rebooten

;)
Übrigens kannst du auch für ssh ein Script schreiben, welches nur Vertraute Personen haben und sogar klickbar local starten können.

Gruß Wolfgang
 
Was ist (auch ohne Lehrgang) so schwer am Server restarten?
Pack deiner Sekr. einfach Putti drauf, erstell ihr ein Profil + den SSH Key und mit einem klick & der Passworteingabe läuft es.
Du kannst auch einen einfach Script erstellen den du in ihr ~bin Verzeichniss links und der sudo benutzt, danach dürfte das Rebooten zu Kinderspiel werden.

Wenn du dich nicht belehren lassen willst -> php.net Suche system() bzw. exec().

mfg g0t0
 

Ähnliche Themen

Nvidia 545.23.06 Beta: Linux-Treiber mit HDMI-Verbesserungen und neuen Features [Notiz]

Welche Distro wie RHEL (Tools & Repos)?

Red Hat Enterprise Linux 9.1: Profi-Betriebssystem mit PHP 8.1 erschienen

MangoHud Version v0.6.9: Neue Parameter für das Linux-Performance-Overlay

CPU und Memory Verbrauch von Anwendungen über Zeit wissen?

Zurück
Oben