Samstag, 26. Mai 2012, 04:12

Du bist nicht angemeldet.



ezazazel

The Supporter

  • »ezazazel« ist der Autor dieses Themas

Beiträge: 719

Ubuntu: 11.10

Kernel: 3.0.0-14-generic

Architektur: 32-bit

  • Private Nachricht senden

1

Freitag, 6. April 2007, 12:15

Remote Administration im LAN (via XDMCP)

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

Zitat

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

Zitat

(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.
Si non confectus, non reficiat (If it's not broken, don't fix it)
Shuttle XPC SD39P2; Intel Core2Duo 6420; Samsung T166 SATA II 3,5" 500GB; Gainward Bliss 8600GT PCX SilentFx, Cinergy T USB XS hybrid && MSI Wind Nettop && Toshiba Portege M700 && Acer Aspire One

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ezazazel« (7. April 2007, 11:53)