| « IMAP-Server dovecot | KDE - Kontrollleiste und Miniprogramme (Plasma und Plasmoiden) » |
Mit mehreren Benutzern gleichzeitig die gleiche Shell verwenden (Mehrbenutzer-Betrieb)
Wer hatte nicht schon einmal folgendes Problem: Man will jemandem, der sich an einem anderen Ort befindet, helfen und ihm erklären, welche Shell-Befehle er eingeben soll. Per Telefon ist das meist schwierig, vor allem, wenn das Gegenüber den einen oder anderen Befehl nicht kennt und Probleme mit der Befehlssysntax hat und sich immer wieder vertippt.
Eine Lösung verspricht screen. Hiermit ist es möglich, dass sich mehrere Benutzer mit einer Shell verbinden. Jeder hat dabei die Möglichkeit etwas einzugeben und jeder der Beteiligten kann alle Ausgaben (auch die Eingaben) lesen.
Follow up:
Bevor man screen mit mehreren Benutzern verwenden kann, muss man jedoch das SUID-Bit setzen, was eine Sicherheitslücke darstellen kann. Den genauen Pfad von screen kann man mittels which screen ermitteln. Das SUID-Bit setzt man, wenn sich screen in /usr/bin befindet, mit
chmod u+s /usr/bin/screen
Je nach Betriebssystem kann es sein, dass screen darüber meckert, dass für das Verzeichnis /var/run/screen (unter Ubuntu) die Rechte 755 gesetzt werden sollten. Dies tun wir dann auch:
chmod 755 /var/run/screen
Jetzt kann der erste Benutzer screen starten. Danach muss er in den Mehrbenutzerbetrieb umschalten. Dazu muss er zuerst in dem Kommandomodus. Hierhin gelangt man durch Drücken von <Strg>+<a> und danach <:>. Jetzt gibt man folgendes ein
multiuser on
Danach muss man jedem Benutzer, der teilnehmen möchte, die entsprechende Berechtigung erteilen. Für den Benutzer n3u20m4nc32 wechselt man wieder in den Kommandomodus und danach gibt man folgendes ein:
acladd n3u20m4nc32
Nun kann sich der Bneutzer n3u20m4nc32 mit der screen-Session des ersten Benutzers verbinden, indem er screen folgendermaßen startet:
screen -xr n3u20m4nc32/
Danach erscheint alles was eingetippt wird in beiden Konsolen und der Hilfe über eine räumlich getrennte Distanz steht nichts mehr im Wege. Es sei denn man möchte etwas mehr Sicherheit. Um dies zu erreichen, kann man auch ein Passwort, das vor dem Verbinden eingegeben werden muss, vergeben. Dazu muss man beim Erteilen der Berechtigung hinter dem Benutzernamen das verschlüsselte Passwort angeben. Dieses Passwort kann man mittels mkpasswd erzeugen.
Wenn man sich mit einer bestimmten screen-Session verbinden möchte, kann man beim Starten von screen hinter dem Schrägstrich die Id dieser Session angeben. Weitere Möglichkeiten von screen kann man in der man page oder in der screen-Hilfe nachlesen. Letztere kann man mit <Strg>+<a> gefolgt von <?> aufrufen.