| Zurück | Inhalt | Inhalt von Kapitel 6 | Weiter |
| Zurück | Inhalt | X-Session über ssh starten? | Top | Weiter |
X-Session über ssh starten?
Mit entsprechend konfiguriertem ssh ist es sehr einfach, übers Netz eine X-Session auf einem anderen Rechner zu starten. Die relevanten Einstellungen sind:
»X11Forwarding yes« in der /etc/ssh/sshd_config des Zielrechners (auf dem man sich einlogt).
»ForwardX11 yes« in der /etc/ssh/ssh_config auf dem Ausgangsrechner (auf dem der X-Server läuft).
Wenn X-Forwarding funktioniert, braucht man sich nur aus einem xterm oder ähnlichem mit ssh einloggen und hat automatisch ein korrekt gesetztes DISPLAY. Das nächste X-Programm, dass man auf dem entfernten Rechner startet, schickt die Ausgabe dann zum X-Server auf dem Ausgangsrechner. Das X-Protokoll läuft dabei verschlüsselt über die ssh-Verbindung. Dies hat drei Vorteile:
Die Verbindung ist verschlüsselt.
Der X-Server weiß nichts davon, dass die Daten in Wirklichkeit übers Netz kommen. Man braucht also die in X11 vorhandenen Zugriffsschutzmechanismen nicht konfigurieren.
Der X-Server braucht keine TCP/IP-Anbindung. Und nur ein nicht vorhandener Netzwerkdienst ist sicher. Siehe http://www.tldp.org/HOWTO/XWindow-User-HOWTO/xsecurity.html.
| Zurück | Inhalt | X-Session über telnet starten? | Top | Weiter |
X-Session über telnet starten?
Der klassische Weg übers Netz eine X-Session zu starten:
Irgendwie auf dem entfernten Rechner einloggen (telnet, rexec, rsh, cronjob, CGI-Script)
Umgebungsvariable DISPLAY korrekt setzen. Im einfachsten Fall:
export DISPLAY=rechner.mit.dem.x.server:0
Die Zugriffskontrolle des X-Servers einstellen. Im einfachsten Fall:
xhost +entfernter.rechner.mit.dem.program
Zugriffskontrolle anhand von IP-Adressen ist zum einen relativ leicht zu umgehen. Zum anderen schaltet man damit ohne Unterschied alle Benutzer eines Rechners frei. Und dann geht sowohl telnet als auch X11 unverschlüsselt übers Netz.
| Zurück | Inhalt | Zugriffskontrolle eines X-Servers mit xauth | Top | Weiter |
Zugriffskontrolle eines X-Servers mit xauth
In der Datei $HOME/.Xauthority des Benutzers, der den X-Server gestartet hat, finden sich mehrere »MIT-MAGIC-COOKIE«. Kann ein X-Client ein passendes Cookie vorweisen, erhält er Zugriff. Zur Übergabe gibt es zwei Möglichkeiten:
Hat der Client Zugriff auf die andere $HOME/.Xauthority übers Dateisystem (nfs, smbfs, oder zwei Benutzer am selben Rechner), dann braucht man nur die Variable XAUTHORITY umsetzen.
Ansonsten hilft nur der ausführliche Weg.
Liste der Kekse ansehen, passenden aussuchen.
xauth list
Passenden Keks exportieren.
xauth extract austauschdatei rechner.mit.dem.x.server:0
Die Austauschdatei irgendwie zum anderen Rechner transportieren.
Den gewählten Keks importieren.
xauth merge austauschdatei
Mit ssh (bzw. rsh) kann man das alles auch in einer Zeile machen.
xauth nlist rechnername:0 | ssh user@remotehost xauth nmerge -
| Zurück | Inhalt | X-Session über su starten? | Top | Weiter |
X-Session über su starten?
Dieser Fall lässt sich grundsätzlich mit den oben angeführten Mechanismen lösen. Es gibt aber drei komfortable Sonderfälle.
root hat an sich immer Zugriff auf $HOME/.Xauthority. Umsetzen von XAUTHORITY reicht also völlig. Das geht allerdings nicht, wenn $HOME über NFS gemountet ist, und die Option no_root_squash auf dem Fileserver nicht gesetzt ist.
pam_xauth
Dieses PAM-Modul erledigt die Keksübergabe automatisch. Wird bei Red Hat seit Version 7 mitgeliefert.
sux
Ein Wrapper um su. http://sourceforge.net/projects/sux/
| Zurück | Inhalt | Mehrere X-Server auf dem selben Rechner? | Top | Weiter |
Can I have multiple sessions of X running at the same time?
http://www.fisica.uson.mx/carlos/Linux/Docs/lnag/Linux_Xwindows.htm#multiple_X_Sessions
Can my sister have second GUI login prompt so she does not have to kill my X-session to start hers?
http://www.fisica.uson.mx/carlos/Linux/Docs/lnag/Linux_Xwindows.htm#2nd_GUI_login_prompt
Running Multiple Sessions of X
http://linuxguide.automatedshops.com/LinuxGuide/linux-X-multiple.html
Creating Multiple GDM Logins on a Single Workstation
http://www.justlinux.com/nhf/X_Window/Creating_Multiple_GDM_Logins_on_a_Single_Workstation.html
| Zurück | Inhalt | Wo ist der Unterschied zwischen Xdefaults und Xresources? | Top | Weiter |
Frage:
Wo ist eigentlich der Unterschied zwischen Xdefaults und Xresources?
Antwort:
Im Prinzip ist da kein Unterschied vorhanden, nur handhaben es
verschiedene Programme (und auch Startup Files) anders. Generell
könnte man sagen (wenn wir die Ausnahmen mal bei Seite lassen) dass
~/.Xresources zumeist in die xrdb (X Resources DataBase) eingelesen
wird, und ~/.Xdefaults von ein paar Programmen direkt beim starten
ausgelesen werden.
Die IMO sinnvollste Variante ist es,
sich lediglich ein ~/.Xdefaults anzulegen und dieses über ~/.xinitrc
oder ~/.xsession in die xrdb einzulesen:
xrdb -merge
~/.Xdefaults
Wer möchte, kann noch einen symbolischen
Link von ~/.Xresources auf ~/.Xdefaults zeigen lassen, was IMO
allerdings keinen sonderlichen Nutzen bringen dürfte.
| Zurück | Inhalt | Was ist so gefährlich an . oder :: im PATH? | Top | Weiter |
Was ist so gefährlich an ».« oder »::« im PATH?
Wenn in einem Verzeichen mehrere Leute Schreibrechte haben, wie zum Beispiel in /tmp/, lassen sich so trojanische Pferde unterjubeln. Das mag auf einem Einzelplatzrechner weit hergeholt klingen, aber schlechte Angewohnheiten wird man nur schwer wieder los. Der richtige Weg ein Programm im aktuellen Verzeichnis aufzurufen, sieht so aus:
./programm
Ausführliche Beschreibung: http://www.lrz-muenchen.de/services/security/path/
| Zurück | Inhalt | Cut'n'Paste | Top | Weiter |
Problem:
Ich will (unter KDE oder meinetwegen auch Fvwm2) einen Teil eines Textes aus einer Terminal-Konsole in einen zugleich offenen Editor kopieren und dann als Textfile speichern!
Antwort:
Es gibt einige X-Programme (zB den Midnight-Commander) bei denen
man zum Markieren die Shift-Taste gedrückt halten muss, ebenso
zum Einfügen. Das funktioniert auch ohne X im Textmodus, unter
der Voraussetzung, daß gpm läuft.
| Zurück | Inhalt | Screenshots unter X11, KDE, Gnome? | Top | Weiter |
Screenshots unter X11, KDE, Gnome?
xwd, Teil von X11 selbst
import, Teil von ImageMagick
gimp, File → Acquire → Screen Shot …
ksnapshot, ist unter KDE meist schon unter ALT+Druck bzw. STRG+Druck vorkonfiguriert
Außerdem xwpick, xgrab, xv, xdmp
| Zurück | Inhalt | Immer ein guter Tip: rm -rf |
Top | Weiter |
Frage:
In einer Newsgroup habe ich die Frage gestellt, wie ich
Mir wurde der Ratschlag gegeben, es einmal mit dem Befehl rm oder rm -rf zu versuchen. Löst dieser Befehl wirklich mein Problem?
Antwort:
NEIN! Naja, doch... Sagen wir einfach, Du hast in der Regel danach
ein anderes Problem. Der Befehl rm steht
mitnichten für "remark", sondern für "remove". Mit anderen
Worten: Es handelt sich dabei um einen Befehl zum Löschen von
Dateien und Verzeichnissen!
Die Option -rf
steht für "mit allen Unterverzeichnissen" (r wie recursive)
und "ohne Rückfragen" (f wie force).
Wenn Du als
root also ein rm -rf /*
ausführst, ist Dein komplettes Linux futsch. Leider gibt es immer
wieder schwarze Schafe im Internet, die arglosen Hilfesuchenden
solch gefährliche "Tips" geben (Namen werden hier bis auf
weiteres nicht veröffentlicht, auch wenn den Autoren genug
bekannt sind).
| Zurück | Inhalt | Was bedeutet eigentlich tty ? |
Top | Weiter |
Frage:
Was bedeutet eigentlich tty ?
Antwort:
tty ist die Abkürzung für "Teletype" und stammt aus
der guten alten Zeit der DEC-Terminals.
| Zurück | Inhalt | Wie kann ich Umgebungsvariablen definieren? | Top | Weiter |
Frage:
Wie kann ich eine Umgebungsvariable (eng.: environment variable)
so definieren, dass ich sie auch in Shell-Skripts ansprechen kann?
Antwort:
In bash und modernen ksh geht das so:
export VARIABLE=Wert
Die ältere (und kompatible) Syntax macht das in zwei
Schritten:
VARIABLE=Wert
export VARIABLE
Und dann gibt es noch csh und tcsh:
setenv VARIABLE Wert
Welche Shell man verwendet, sagt einem echo $SHELL oder echo $BASH_VERSION.
Wichtig:
Keine Leerzeichen vor und nach dem Gleichheitszeichen
Keine Gleichheitszeichen bei setenv
Wenn Wert Leerzeichen enthält, sollte man
Wert mit doppelten Anführungszeichen umgeben:
export VARIABLE="In space, no one can hear you fart."
Wenn Wert "härtere" Sonderzeichen wie etwa "$" enthält,
helfen einfache Anführungszeichenn:
export VARIABLE='Go directly to jail.
Do not pass Go, do not collect $200.'
Änderung der laufenden Session:
Wenn man ein Shell-Skripts auf die übliche Art startet, wird dazu ein eigener Prozess erzeugt. Umgebungsvariablen werden dabei vom Elternprozess an den Kindprozess vererbt (man kann das mit env(1) auch verhindern). Es gibt aber keine Möglichkeit in der Umkehrrichtung Variablen zu setzen.
Um durch ein Skript Umgebungsvariablen einer laufenden
Shell zu ändern, muss man es statt dessen Ein-Sourcen:
source Datei
oder
. Datei
| Zurück | Inhalt | Ende dieser Seite | Top | Weiter |