Shutdown

Aus Arktur
Wechseln zu: Navigation, Suche

Clients können vom Server aus gestartet oder heruntergefahren werden.

Inhaltsverzeichnis

Hardware

Die Netzwerkkarte des Client muss wake on LAN verstehen und an den Rechner weitergeben; bei älteren PCI-Karten muss i.a. ein Kabel von der Karte zur Hauptplatine geführt werden.

Kontrolle:

ethtool eth0

zeigt u.a. an, ob die Karte "eth0" auch "Wake on" versteht; wenn

Wake-on: g

gemeldet wird, dann ist alles richtig eingestellt.

Eventuell muss die Karte speziell für "wake on LAN" konfiguriert werden; gelegentlich muss das unter DOS gemacht werden, mit Hilfe einer speziellen Konfigurations-Diskette.

Bei "on board"-Karten muss eventuell im CMOS-Setup ("BIOS") wake on LAN eingestellt werden.

Bei Linux-Clients muss vielleicht

/usr/sbin/ethtool -s eth0 wol g

eingegeben werden, damit die Karte wunschgemäss funktioniert. Bei einigen Linux-Distributionen (insbesondere Ubuntu) muss eventuell das Stoppen der Karte ausdrücklich untersagt werden.

Software

Anleitung/Online-Hilfe: "ether-wake -u"

Anleitung/Online-Hilfe: "wol --help"


herunterfahren

Samba-Weg

Anleitung/Online-Hilfe: "net help rpc" (und dort die letzten Zeilen)

Beispiele:

net rpc shutdown -f -t 120 -I 10.0.0.120 -U adminname%adminpasswort

schaltet den Client mit der IP-Adresse 10.0.0.120 nach 2 Minuten aus

net rpc shutdown -r -f -I 10.0.0.122 -U adminname%adminpasswort

startet den PC mit der IP-Adresse 10.0.0.122 sofort neu ("reboot")

"adminname" ist der Linux-User, der auch berechtigt ist, Clients in die Domäne aufzunehmen.


rpcclient -c 'shutdown' -U username -I ipaddress

(Anleitung/Online-Hilfe: "rpcclient") sollte auch funktionieren; bei diesem Befehl ist es möglich, "adminname" und "adminpasswort" aus einer Textdatei auszulesen, die besser vorm allgemeinen Zugriff geschützt ist und leichter geändert werden kann (siehe Option "-A", anstelle der Option "-U").

Linux-Weg

Wer Linux-Clients herunterfahren will, der kann das auch direkt per SSH als "root" (aus Client-Sicht):

Cron-job am Server mit:

ssh root@client-ip halt

Den Befehl kann man zum Testen an der Konsole auch erst mal so eingeben, aber ein Cronjob hat "im Prinzip" etwas andere Rechte als der Betrieb eines an der Konsole eingeloggten Benutzers.

Damit das funktioniert, muss

  • der Linux-Client einen User "root" haben
  • "root" vom Server sich ohne Passwort auf dem Client einloggen können

Rainer Schajor, Mailingliste "Linuxmuster" 3. Dez. 2011

starten

Das Starten per "ether-wake", "wol" o.ä. setzt voraus, dass der Rechner vorher "sauber" heruntergefahren wurde, also per "Herunterfahren" bei Windows oder (z.B.) "halt" bei Linux. Es funktioniert nicht, wenn der Rechner z.B. per Hauptschalter ausgeschaltet worden ist.

ether-wake -i eth1 11:22:33:44:55:66

weckt den Rechner mit der MAC-Adresse 11:22:33:44:55:66 auf, wenn er im LAN liegt, das an der Netzwerkkarte "eth1" hängt.

wol 11:22:33:44:55:66

weckt den Rechner mit der MAC-Adresse 11:22:33:44:55:66 auf; es könnte sein, dass "wol" nur von "eth0" aus funktioniert.

Die MAC-Adresse ist im DHCP-Umfeld nachzulesen, wenn DHCP benutzt wird, oder per "arp" zu beschaffen, wenn/solange der Rechner sowieso gestartet ist, oder sie kann am Client ausgelesen werden, unter Windows z.B. per "ipconfig".

net rpc shutdown -f -r -I 10.0.0.122 -U adminname%adminpasswort

rebootet sofort

net rpc shutdown -f -t 120 -r -I 10.0.0.120 -U adminname%adminpasswort

rebootet den PC nach 2 Minuten

Skripts

Wenn viele Clients in einem Rutsch bearbeitet werden sollen:

Skript "wegda"

#! /bin/bash
# Skript "wegda" faehrt viele Clients herunter
# Rolf Muth, Mailingliste "schan-user" 30.10.2009
for n in $*
  do 
   # echo $n runterfahren
  ping -w 1 -c 1 192.168.3.$n >/dev/null 2>&1 && \
  net rpc shutdown -f -t 30 -I 192.168.3.$n -U admin%passwort
done
#

"wegda 24 17 56 43" stoppt also in diesem Fall die Rechner 192.168.3.24, 192.168.3.17, 192.168.3.56 und 192.168.3.43

Alternative (um z. B. mit einem Kommando eine ganze Gruppe von Rechnern herunterzufahren), dazu 1. Zeile ändern:

for n in $(seq 20 65)
  do
  ping -w 1 -c 1 192.168.3.$n >/dev/null 2>&1 && \
  net rpc shutdown -f -t 30 -I 192.168.3.$n -U admin%passwort
done
#

Dann stoppt "wegda" alle Rechner mit den IP-Adressen 192.168.3.20 bis 192.168.3.65

Missbrauch

Bei Windows wird u.a. das Programm "shutdown" mitgeliefert, mit dem der eigene oder auch ein fremder Windows-Rechner heruntergefahren werden kann:

shutdown.exe -n \\hostname -s

Einige Schüler kennen und missbrauchen dieses Programm.

Abhilfe:

a) Programm so konfigurieren (oder abändern), dass stets der eigene Rechner heruntergefahren wird

b) Windows-Firewall so einstellen, dass Zugriffe auf diesem Weg geblockt werden (RPC); das könnte aber auch die oben beschriebenen "net rpc"-Befehle unterbinden

c) In den Richtlinien kann man (via gpedit.msc) einstellen, dass ein Remote-Shutdown nur von bestimmten Benutzergruppen (z.B. domadmins, teachers) zulässig ist.

Holger Baumhof, Frerk-Sasa Popovic, Musterlösung-Mailingliste 22.12.09

siehe auch

Weblinks