Hallo,
ich benutze eine alte Pentium1 Kiste als Printserver. Er läuft auf Suse Linux 8 mit Cups und Samba. Nun würde ich gerne ein Skript oder ähnliches habe, dass folgendes bewerkstelligt:
Der Printserver soll per Mausklick von einem Windows Client aus heruntergefahren werden können. Sich jedes mal per SSH einzuloggen und dann halt einzugeben ist auf Dauer zu unbequem.
Danke für alle Anworten,
Thomas
Linux 15.036 Themen, 107.107 Beiträge
Könnte mir z.B. vorstellen, wenn Du via Samba Zugriff auf das Dateisystem des Linux-Rechners hast, dass Du auf dem Win-Client einen Batch oder Vb Script startest, welcher eine definierte Datei auf der Linuxkiste erstellt.
Auf dem Linuxrechner startest Du mittels Cron einen anderen Bash-Script, welcher die Existenz der Datei abfragt und falls er diese findet sie löscht und gleichzeitig ein shutdown des Linuxrechners veranlasst. Der Cronjob könnte ja z.B. alle 5 min anlaufen, so dass Du nach Aufruf des Scriptes auf dem Windowsrechner nach 5 min die Linuxkiste gestoppt bekommst.
Danke für die Antwort.
Hört sich gut an. Allerdings muss ich dazu sagen noch nie ein bash script geschrieben zu haben.
Könntest du mal ein Beispiel reinstellen?
-----------------------------------------------------------------
#! /bin/sh
swapdat="/tmp/shutdown.swp"
if [ -e $swapdat ]; then
rm $swapdat
sync
/sbin/shutdown -h now
fi
----------------------------------------------------------------
Der Ablageort /tmp sowie der Dateiname shutdown.swp sind frei wählbar.
Der Windows User muss natürlich Zugriff auf das Linuxverzeichniss in meinem Fall /tmp haben, um dort die Datei erstellen zu können.
Der Cronjob sollte als root laufen, um shutdown ausführen zu dürfen oder Du musst mit sudo hantieren.
Der Aufruf könnte auch alle Minute laufen.
In welchem Dateiformat und wo muss das Script den gespeichert werden?
Lässt sich Cron auch über webmin konfigurieren. Ich von Cron bisher die Finger gelassen. Hast vielleicht einen Link wo die Cron Konfiguration erklärt wird?
Stellt es ein Sicherheitsrisiko dar wenn der Cron-Job als root läuft?
Wenn man mit sudo arbeitet, müsste man das doch auch in des Script eintragen vor dem Aufruf der Überprüfung?
Vielen Dank,
Thomas
Der Script mus als ausführbare Datei deklariert werden.
chmod ugo+ Dateiname.
http://de.wikipedia.org/wiki/Cron
Das dieser Job als root läuft, stört nicht, da er ja nur für die eine definierte Aufgabe da ist.
Die crontab findest Du unter /etc
Danke das hilft mir weiter. Ich werde das heute Abend mal ausprobieren und dann Bescheid geben ob es geklappt hat.
Wenn das Drücken des Power-Buttons zum Shutdown für dich akzeptabel ist, dann kannst du die Kiste mit dem PowerSwitch Driver ausstatten:
http://www.whitebream.com/carpc/linux.php
Ganz unten auf der Seite ist ein Link zu "(Version 1.4)".
usernull
Danke,
aber es handelt sich bei der Kiste wie gesagt um einen Pentium1 auf AT-Architektur. Da hatte man noch einen richtigen Schalter der knallhart den Strom trennt. Von daher lässt sich das so wahrscheinlich nicht realisieren.
Aber vielen Dank die Sache kann man bestimmt irgendwo brauchen.
MFG
Thomas
ich bin grade zufällig über einen SSH-Artikel gestolpert der dich interresieren könnte
http://en.jakilinux.org/apps/ssh-tricks/
schau dir mal die Abschnitte
SSH without passwords - generating keys
und
Executing commands on a remote system
an.
Das scheint eine bessere Möglichkeit zu sein als ber cron immer wieder nach einer Datei suchen zu lassen.
Danke für die Antwort.
Ich habe den Artikel nur kurz überflogen, werde ihn heute Abend aber genauer lesen. Zwar steht drin wie man passwortlose SSH-Keys erstellen kann. Allerdings finde ich nichts wie ich dann einen Befehl automatisch per Mausklick an den Server senden kann. Ich denke man müsste Putty über eine Batch aufrufen die dann auch gleich die passenden Befehle in Putty eingibt. Ich hab aber keine Ahnung ob eine Batch auf vordefinierte Befehle in Putty eintragen kann? Ich schau mal ob man Putty in einer Art Batch Mode ausführen kann.
MFG
Thomas
Habe kurz mal in die HowTo von Putty reingeschaut.
Ergebnis: Es gibt eine Art Command-Line Tool: http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter7.html#plink
Ich werde heute Abend mal schauen wie sich die Sache nun am geschicktesten realisieren lässt.
Was mir allerdings noch nicht ganz klar ist: Setze ich mit den paswortlosen SSH-Keys die Sicherheit herab?
MFG
Thomas
Naja da du als Betriebssystem auf dem Printserver ein älteres Suse 8 verwendest würde ich davon ausgehen das die passwortlosen SSH-Keys keinen nennenswerten Einfluss auf die Sicherheit haben ;-) (da währe eine neuere Distribution wichtiger um Sicherheitslücken zu stopfen)
Das Problem bei diesen Passwortlosen Keys ist eigentlich nur, das wenn jemand Zugriff auf die Datei mit dem Key bekommt, dann kann er sich damit halt beim Printserver anmelden ohne das er ein Passwort angeben muss. Der Printserver ist also nurnoch genauso sicher wie das System auf dem die Datei mit dem Key liegt.
-----
Wie das mit Skripten und Putty läuft, davon hab ich leider keinen Plan. In dem Artikel stand ja als Beispiel um nen Sound woanders abzuspielen:
ssh user1@local_server 'play /usr/share/sounds/gaim/arrive.wav'
ich würde mal versuchen das was bei der Seite die du zu Plink geschickt hast unter "7.3 Using Plink in batch files and scripts" darauf anzuwenden und dann kommt folgendes raus:
plink root@myserver halt
Die Zeile dann als Server_runterfahren.bat speichern und mal schaun.
Bin gestern Abend leider nicht mehr dazu gekommen es auszuprobieren. Gebe aber auf jeden Fall Bescheid sobald ich weiß ob es funktioniert.
MFG
Thomas
Also ich habe die ganze Sache mit Plink und den ssh-keys umgesetzt. Ich werde auch noch die andere Variante ausprobieren. Morgen schreib ich genauer wie es geht. Ich bin jetzt zu müde.
MFG
Thomas