Dieses HowTo kann in Form eines PDFs in unserer Datenbank herunter geladen werden: download
Lage:
Man betreibt ein kleines Netzwerk von 5 bis 10 Rechner. Alle sind in etwa gleich stark, es gibt keine "Krücken". Auf jedem dieser Rechner sind mehrere unterschiedliche Benutzer angelegt, wobei prinzipiell jeder Standardbenutzer nur ein Mal im Netzwerk vorkommt.
Auftrag:
Jeden Rechner als Einzelgerät im LAN zu administrieren, neue Software aufzuspielen und den Benutzern bei Bedarf unter die Arme greifen. Bei Bedarf auch auf der graphischen Oberfläche, soll heißen Anpassen des Starmenüs, Sitzungen etc.
Ansatz:
Ubuntu (und alle anderen Linuxsysteme) sind nicht nur Multitasking(threading)- sondern auch Multiuser-Systeme. Das bedeutet zweierlei. Erstens können einzelne Programme mit unterschiedlichen Rechten gleichzeitig ausgeführt werden (ein Sicherheitsvorteil), anderererseits kann das System gleichzeitig mehrere User an sich arbeiten lassen. Ubuntu bietet hierfür den "XDMCP" Ansatz, eine Möglichkeit über das Netzwerk sich mit einem anderen Rechner zu verbinden und auf diesem zu arbeiten. Der Unterschied zu "telnet" ist der, dass man auch die X Daten, also die graphische Oberfläche angezeigt bekommt.
Man kann demnach über das Netzwerk auf einem anderen Computer so arbeiten, als ob man auf dem eigenen arbeiten würde.
Durchführung:
Drei Schritte zur Administration:
1.) Einrichten der XDMCP Fähigkeit des Remoterechners
2.) Verbinden mit dem Remoterechner
3.) Erhöhung der eigenen Rechte und Ausführen von graphischen Programmen anderer Benutzer
Voraussetzung: Beide Rechner sind im selben Netzwerk (gegebenenfalls die Subnetmask anpassen), bei WLAN mit WPA muss ebenfalls eine Verbindung bestehen. Notfalls zuerst normal einloggen und die Verbindung herstellen, dann ausloggen und via XDMCP erneut einloggen.
1.) Einrichten der XDMCP Fähigkeit des Remoterechners
Am zu administrierenden Rechner als Hauptbenutzer einloggen und die graphische Anmeldungsverwaltung starten, entweder ducrh Klicken auf
System>Verwaltung>Anmeldefenster
bzw. im Terminal
|
Quellcode
|
1
|
sudo gdmsetup
|
Dann auf den Reiter entfernt klicken und "Einfach" auswählen.
Den Reiter schließen und das Netzwerk mit dem Befehl
|
Quellcode
|
1
|
sudo /etc/init.d/network restart
|
Damit ist der Rechner bereit XDMCP Sitzungen zu akzeptieren.
2.) Verbinden mit dem Remoterechner
Auf der GDM Ebene (graphisches Anmelden - also bevor die Desktopoberfläche gestartet wird) auf "Einstellungen" und "entfernte XDMCP Sitzung" gehen.
Nun wird das Netzwerk nach möglichen Hostrechnern durchsucht.
NOCHEINMAL: Eine Netzwerkverbindung (bei Bedarf mit Authentifizierung) muss bestehen.
Nun sollten alle möglichen Hosts angezeigt werden.
Nun nur noch den gewünschten auswählen und auf "Verbinden" klicken.
Am Hostrechner als Hauptbenutzer einloggen. Schon kann man arbeiten als wäre man lokal unterwegs.
Anmerkung: Gerade Anfragen die einen kompletten Redraw des Desktops erfordern, können manchmal etwas verzögert sein. Schlussendlich gibt es zwei determinierende Faktoren: die Kapazitäten des Hostrechners und die Kapazitäten der LAN Verbindung. Wenn also das WLAN auf 6 Mb/s herunten st, braucht ein Redraw entsprechend länger.
3.) Erhöhung der eigenen Rechte und Ausführen von graphischen Programmen anderer Benutzer
In diesem Beispiel wird davon ausgegangen, dass man als Hauptbenutzer am Hostrechner eingeloggt ist.
Zuerst das Wichtigste:
Als Hauptbenutzer ist man nun in der Lage die komplette Systemverwaltung durchzuführen, auch remote. Man kann auch als Hauptbenutzer sich alle Daten der "normalen Benutzer" anzeigen lassen.
Was man noch nicht kann ist, graphische Programme der Benutzer mit deren Einstellungen und Konfigurationen auszuführen. Man würde immer Fehlermeldungen im Stile von
(mozilla-thunderbird-bin:8886): Gtk-WARNING **: cannot open display:
Hiezu ist es notwendig die "X Access Control" auszuschalten. Dies erfolgt mit dem Befehl:
|
Quellcode
|
1
|
sudo xhost +
|
Nun ist, wie man der Antwort "access control disabled, clients can connect from any host" entnehmen kann, obiges möglich. Will man die Access Control wieder einschalten, so gibt man
|
Quellcode
|
1
|
sudo xhost -
|
ein.
Doch nun zum starten von Programmen anderer Benutzer mit deren Einstellungen:
Der Aufruf solcher Programme ist nur über die Kommandozeile möglich. Um herauszufinden wie ein Programm richtig heißt, kann man auf der Kommandozeile den Befehl
|
Quellcode
|
1
|
alacarte
|
eingeben. Angezeigt wird alsdann ein Programm, welches die Startmenüeinträge verwaltet. Mit der rechten Maustaste auf einen Eintrag klicken, und "Eigenschaften" anzeigen lassen. Dort steht der Befehl zum Aufrufen des Programmes.
Nun noch herausfinden, welche Benutzer am Hostrechner verfügbar sind. Dies erledigt man mit
|
Quellcode
|
1
|
sudo users-admin
|
Schon weiß man wie der Loginname lautet.
Wir wollen nun aber so ein Programm als anderer Benutzer ausführen.
Das erfolgt mittels "gksu" Kommando und dem Flag "-u"
Da die Accesscontrol ausgeschalten wurde, sollten wir nun auch keine Fehlermeldungen mehr bekommen .
|
Quellcode
|
1
|
gksu -u namedesbenutzersdemwirhelfen namedesprogrammes
|
Beispiel:
|
Quellcode
|
1
|
gksu -u berger mozilla-thunderbird
|
Siehe da, wir können sogar die empfangenen Emails des Benutzers lesen. Besser wäre es aber ihm neue Plugins und Addons zu installieren, denn darum haben wir das Ganze ja gemacht.
Hier ein paar Möglichkeiten:
Um zum Beispiel das Startmenü des Benutzers anzupassen und ihm nur die Programme anzuzeigen, welche er benutzen darf, startet man
|
Quellcode
|
1
|
gksu -u berger alacarte
|
Um das Hintergrundbild eines Benutzers zu ändern
|
Quellcode
|
1
|
gksu -u berger gnome-background-properties
|
Um die Standardanwednungen anzupassen (Verwenden von Thunderbird anstatt Evolution)
|
Quellcode
|
1
|
gksu -u berger gnome-default-applications-properties
|
Sollte man aber Zugriff auf persönliche Dateien über "Nautilus" oder andere Programme benötigen, so empfiehlt es sich, zumindest auf Zeit zu "root" zu machen.
Auch hier bemühen wir wieder die Kommandozeile
|
Quellcode
|
1
|
sudo su
|
oder alternativ
|
Quellcode
|
1
|
sudo -s
|
Schon hat man Zugriff auf wirklich Alles, was am Rechner vorhanden ist.
Wenn die Administrationstätigkeiten erledigt sind, nicht vergessen xhost wieder einzuschalten.
Tipp: Um einen Benutzer im laufenden Betrieb unter die Arme zu greifen, kann man auch mit dem Befehl
|
Quellcode
|
1
|
vino-preferences
|
oder über System>Präferenzen>Entfernter Desktop am Rechner des zu Unterstützenden starten und aktivieren. Dann mit dem Terminal-Server-Client Programm Verbindung zu dieser IP aufbauen und schon kann man live die Maus des Benutzers führen und ihm zeigen, wie etwas gemacht wird.