Hallo! Ich habe in unserem Pfarrbüro ein Netzwerk eingerichtet und einen Linux-Server, der mehrere X-Clients bedient, die sich remote über xdm bzw. kdm einloggen können. Jetzt habe ich das Problem, dass die Client-Rechner vom Benutzer heruntergefahren werden sollen ohne root-Account und ohne schwierige Tastenkombinationen. Am Besten wäre ein kleines Skript, das einen Shutdown-Button am Anmeldebildschirm einblendet. Das Skript habe ich, aber ich bekomme es nicht angezeigt, weil durch das rx-Skript, das den X-Server startet (xdmsc-Paket) die Ausgabe des Servers eingeblendet wird. Dort möchte ich das Skript aber nicht plazieren, weil der ja nicht heruntergefahren werden soll. Gibt es eine Lösung, wie ein Benutzer einfach den Client herunter fahren kann? (Im Augenblick verwende ich die Tastenkombinationen Strg-Alt-F2 und Strg-Alt-Entf) Gruß Helmut Willems
Hi Helmut On Fri, Oct 05, 2001 at 02:40:35PM +0000, Helmut Willems wrote:
Ich habe in unserem Pfarrbüro ein Netzwerk eingerichtet und einen Linux-Server, der mehrere X-Clients bedient, die sich remote über xdm bzw. kdm einloggen können. Jetzt habe ich das Problem, dass die Client-Rechner vom Benutzer heruntergefahren werden sollen ohne root-Account und ohne schwierige Tastenkombinationen. Am Besten wäre ein kleines Skript, das einen Shutdown-Button am Anmeldebildschirm einblendet. Das Skript habe ich, aber ich bekomme es nicht angezeigt, weil durch das rx-Skript, das den X-Server startet (xdmsc-Paket) die Ausgabe des Servers eingeblendet wird. Dort möchte ich das Skript aber nicht plazieren, weil der ja nicht heruntergefahren werden soll. Gibt es eine Lösung, wie ein Benutzer einfach den Client herunter fahren kann?
Du kennst ssh? Wenn nein dann solltest du mal etwas darüber lesen, man kann damit sehr schön Kommandos auf fremden Rechnern ausführen. ssh kiste -l user 'kommando' PS: das da oben liest sich so als würdest Du Server und Client durcheinender würfeln, Bei X sitzt man am X-Server und der X-Client bedient sich dessen Ein-/Ausgabemöglichkeiten. -- MfG. Falk
Hi Helmut, Helmut Willems wrote:
Hallo!
Ich habe in unserem Pfarrbüro ein Netzwerk eingerichtet und einen Linux-Server, der mehrere X-Clients bedient, die sich remote über xdm bzw. kdm einloggen können. Jetzt habe ich das Problem, dass die Client-Rechner vom Benutzer heruntergefahren werden sollen ohne root-Account und ohne schwierige Tastenkombinationen. Am Besten wäre ein kleines Skript, das einen Shutdown-Button am Anmeldebildschirm einblendet. Das Skript habe ich, aber ich bekomme es nicht angezeigt, weil durch das rx-Skript, das den X-Server startet (xdmsc-Paket) die Ausgabe des Servers eingeblendet wird. Dort möchte ich das Skript aber nicht plazieren, weil der ja nicht heruntergefahren werden soll. Gibt es eine Lösung, wie ein Benutzer einfach den Client herunter fahren kann? (Im Augenblick verwende ich die Tastenkombinationen Strg-Alt-F2 und Strg-Alt-Entf)
Genau das wird in der aktuellen linux-user 10/2001 besprochen. Dort auf der CD ist ein kleines Tcl/TK Script, welches dir am login prompt des xdm die Möglichkeit zum reboot und shutdown bietet. hth Thorsten
On 05-Oct-01 Helmut Willems wrote:
Ich habe in unserem Pfarrbüro ein Netzwerk eingerichtet und einen Linux-Server, der mehrere X-Clients bedient, die sich remote über xdm bzw. kdm einloggen können. Jetzt habe ich das Problem, dass die Client-Rechner vom Benutzer heruntergefahren werden sollen ohne root-Account und ohne schwierige Tastenkombinationen. Am Besten wäre ein kleines Skript, das einen Shutdown-Button am Anmeldebildschirm einblendet. Das Skript habe ich, aber ich bekomme es nicht angezeigt, weil durch das rx-Skript, das den X-Server startet (xdmsc-Paket) die Ausgabe des Servers eingeblendet wird. Dort möchte ich das Skript aber nicht plazieren, weil der ja nicht heruntergefahren werden soll. Gibt es eine Lösung, wie ein Benutzer einfach den Client herunter fahren kann?
Also hier haben wir das wie folgt gelöst (untested from brain): -> KDM ab KDE 2.2 verwenden -> auf allen Clients SSHD installieren -> auf dem Server SSH-Client installieren -> SSH-Keypaar mit leerer (null) Passphrase erzeugen (shutdown.key und shutdown.key.pub) -> Der Public Key wird auf alle Clients in /root/.ssh/ kopiert -> Eintrag auf den Clients in /root/.ssh/authorization: Key shutdown.key.pub Command /sbin/shutdown -h now shutdown.key.pub ist dabei der Dateiname des Public Key -> /etc/ssh2/shutdown anlegen und beide Keys dorthin ablegen -> außerdem /etc/ssh2/shutdown/identification anlegen mit Inhalt: IdKey shutdown.key -> Rechte setzen: /etc/shutdown root.root 755 /etc/shutdown/shutdown.key root.root 644 /etc/shutdown/shutdown.key.pub root.root 644 /etc/shutdown/identification root.root 644 Anmerkung: Man kann auch nur einer Gruppe das Recht geben, das auszuführen, dann root.shutdown 640 bzw. 750 benutzen. -> /usr/local/bin/xtermshutdown erzeugen, Inhalt: #!/bin/bash test -d $HOME/.ssh/shutdown || ln -s /etc/ssh2/shutdown \ $HOME/.ssh/shutdown $HOST=${DISPLAY%:*} ssh -i identification/shutdown root@$HOST -> chmod +x /usr/local/bin/xtermshutdown (ggf. wieder Gruppenrechte) -> Test: Login von X-Term, Terminalfenster öffnen, xtermshutdown sollte zum Shutdown des Rechners führen -> Wenn Test erfolgreich: im KDE-Kontrollzentrum als root unter Login-Manager als Shutdown-Kommando /usr/local/bin/xtermshutdown eintragen und sonstige Konfiguration vornehmen. - Fertig - Mit OpenSSH sollte man's auch hinkriegen, aber da kenn ich die Syntax nicht auswendig. Funktionieren tut das hier jetzt schon monatelang spitzenmäßig. Alternativ kann man wenn Sicherheit nicht das Thema ist auch RSH statt SSH nehmen. Es geht halt alles, was einen Login ohne Passwort hinkriegt. SSH hat den Nachteil daß es gerade bei schwächeren X-Terminals evtl. kurz dauert bis der Login rum ist. Dafür ists halt sicherer. SSH verhindert, daß jemand, der sich mit dem Key anmeldet, was anderes ausführen kann als das Kommando, das in der authorization steht. Dort kann man auch ein Skript eintragen, das bekommt dann ein $SSH_ORIGINAL_COMMAND, in dem das vom User eigentlich gewünschte Kommando steht. -- Erhard Schwenk http://www.fto.de - http://www.akkordeonjugend.de No Spam replies please.
Am Freitag, 5. Oktober 2001 16:40 schrieb Helmut Willems:
Hallo!
Ich habe in unserem Pfarrbüro ein Netzwerk eingerichtet und einen Linux-Server, der mehrere X-Clients bedient, die sich remote über xdm bzw. kdm einloggen können. Jetzt habe ich das Problem, dass die Client-Rechner vom Benutzer heruntergefahren werden sollen ohne root-Account und ohne schwierige Tastenkombinationen. Am Besten wäre ein kleines Skript, das einen Shutdown-Button am Anmeldebildschirm einblendet. Das Skript habe ich, aber ich bekomme es nicht angezeigt, weil durch das rx-Skript, das den X-Server startet (xdmsc-Paket) die Ausgabe des Servers eingeblendet wird. Dort möchte ich das Skript aber nicht plazieren, weil der ja nicht heruntergefahren werden soll. Gibt es eine Lösung, wie ein Benutzer einfach den Client herunter fahren kann? (Im Augenblick verwende ich die Tastenkombinationen Strg-Alt-F2 und Strg-Alt-Entf)
Hallo Helmut, hallo Leute, wie wäre es damit (läuft bei mir auf 2 Rechnern): einen Benutzer namens "halt" anlegen (evtl. passwortlos) in /home/halt/.profile folgendes eintragen: sudo /sbin/init 0 visudo aufrufen und folgendes eintragen: halt ALL=(ALL) NOPASSWD:/sbin/init 0 Damit können die Benutzer durch "einloggen" als Benutzer "halt" das System herunterfahren. Falls auch der Server heruntergefahren werden soll, kannst Du auf dem Server ebenfalls einen Benutzer halt anlegen und Dich dann per Telnet oder ssh als "halt" einloggen, um den Server herunterzufahren. In diesem Fall sollte in der .profile nach dem sudo-Aufruf in der nächsten Zeile noch "exit 0" stehen, damit Du vor dem Herunterfahren sauber ausgeloggt wirst (bevor ich das eingetragen hatte, war manchmal ein killall telnet nötig :-) Gruß Christian Boltz -- Linux is like a wigwam: no gates, no windows, but an apache inside.
participants (5)
-
Christian Boltz
-
Erhard Schwenk
-
Falk Sauer
-
Helmut Willems
-
Thorsten Strusch