+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12
  1. #1
    inaktiv
    Themenstarter
    Avatar von Skeeve
    Registriert
    10.2005
    Ort
    Nahe Aix-la-Chapelle
    Beiträge
    3.121

    Achtung Mini Tutorial: Terminal teilen / "Über die Schulter schauen"

    Bitte beachtet auch die Diskussion im Zusammenhang mit suid (chmod +s) unten!

    Der von lazertis & pepi vorgestellte Weg ist der sicherere.


    Hi!

    Ich stand schon mehrfach vor der Situation, daß ich jemandem im Terminal was zeigen wollte, derjeinge aber irgendwoanders auf der Welt saß.

    Zum Glück gibt es ein Programm, mit dem man soetwas leicht bewerkstelligen kann.

    screen

    Nun bin ich nicht der Experte für dieses Programm und ich kenne längst nicht die Feiheiten und Möglichkeiten, aber vielleicht nutzt es ja jemandem, wenn ich mal beschreibe, wie man es nutzt, um gemeinsam in derselben Shellsession arbeiten zu können.

    Zunächst muß es einen Rechner geben (host) auf dem sich beide User einloggen können. Nennen wir sie Ich und Du.

    Du willst zusehen, wie Ich etwas auf meinem host erledige.

    Dazu bekommst Du zunächstmal Zugang zu meinem host. Am geschicktesten über ssh. Dazu aber an anderer Stelle von jemand anderem später mehr Nachtrag: Ich habe inzwischen erfahren, daß es da schon längst was gibt...

    Wenn also Du eingeloggt bist, dann tippe Ich in meinem Terminal Fenster als Vorbereitung ein:
    Code:
    sudo chmod +s /usr/bin/screen
    Dies mache ich aber nur ein einziges Mal. Auch nach einem Rechnerneustart brauche ich das nicht wieder einzugeben. (Achtung! Damit wird das s-Bit (das "set-user-ID-on-execution and set-group-ID-on-execution" Bit) gesetzt. Sowas sollte man nicht ohne guten Grund machen!)

    Wenn Ich dieses Bit schonmal gesetzt habe, dann kann Ich nun eingeben:
    Code:
    screen
    Es erscheint ein Hinweisbildschirm, den man mit [FONT="Courier New"][Space][/FONT] bestätigt. (Text in der Formatierung [FONT="Courier New"][irgendwas][/FONT] bezeichnet eine Taste, die zu drücken ist)

    Anschließend hat man wieder einen Prompt.

    Nun muß man screen noch mitteilen, daß man einen weiteren User zulassen möchte. Dazu wechselt man mit [FONT="Courier New"][ctrl][/FONT]+[FONT="Courier New"][a][/FONT] gefolgt von [FONT="Courier New"][:][/FONT] in den Kommandomodus. Erkennbar daran, daß in der unten linken Ecke ein inverser Doppelpunkt zu sehen ist. Dort tippt man nun ein:
    Code:
    multiuser on
    was durch die (inverse) Meldung "Multiuser mode enabled" bestätigt wird.

    Anschließend bekommst Du noch die Erlaubnis auf den Screen zuzugreifen. Wieder in den Kommandomodus wechseln: [FONT="Courier New"][ctrl][/FONT]+[FONT="Courier New"][a][/FONT] [FONT="Courier New"][:][/FONT] und das kommando eingeben:
    Code:
    addacl Du
    (Für "Du" natürlich die Kennung des entsprechenden anderen Users nehmen.) Diesmal erfolgt keine Bestätigung.

    Du gibst nun im Terminal ein, nachdem Du Dich ja auf meinem host angemeldet hast:
    Code:
    screen -r Ich/
    (Für "Ich" natürlich die Kennung des entsprechenden anderen Users nehmen.)

    Du solltest nun alles sehen, was Ich im Terminal tippe, und umgekehrt.

    Mit [FONT="Courier New"][ctrl][/FONT]+[FONT="Courier New"][d][/FONT] kann jeder der beiden die Sitzung beenden.
    Geändert von Skeeve (04.05.2007 um 11:38 Uhr)

  2. #2
    inaktiv
    Registriert
    04.2007
    Beiträge
    454
    Man kann aber auch auf die Webseite http://terminaltalk.de/ gehen und sich dort die Tutorials durchlesen, diese sich per Download nach Hause holen und danach seine Konfiguration durchführen. Das ist sicherer als per SSH mit anderen entfernten Teilnehmern auf dem Rechner rumzuspielen.

    Solange es sich natürlich dabei um deinen privaten Rechner handelt, liegt die Verantwortung in deiner Hand. Auf einem Firmen-Rechner geht so was schon mal gar nicht.

    Nichts desto trotz werden das jetzt hier einige Leser ausprobieren wollen. Ich rate davon strikt ab. Einfach der Sicherheit zur Liebe.

    Danke für die Aufmerksamkeit, ich geh dann mal wieder "runter".

  3. #3
    inaktiv
    Themenstarter
    Avatar von Skeeve
    Registriert
    10.2005
    Ort
    Nahe Aix-la-Chapelle
    Beiträge
    3.121
    Zitat Zitat von Grubenunglück Beitrag anzeigen
    Solange es sich natürlich dabei um deinen privaten Rechner handelt, liegt die Verantwortung in deiner Hand.
    Davon gehe ich aus.

    Zitat Zitat von Grubenunglück Beitrag anzeigen
    Auf einem Firmen-Rechner geht so was schon mal gar nicht.
    Sollte das auf einem Firmenrechner möglich sein, so gehört der Firewall Admin abgewatscht, dafür, daß er ssh von aussen nach innen zuläßt.

    Zitat Zitat von Grubenunglück Beitrag anzeigen
    Nichts desto trotz werden das jetzt hier einige Leser ausprobieren wollen. Ich rate davon strikt ab. Einfach der Sicherheit zur Liebe.
    Wie Du meinst. Ich fand es bisher immer mehr als nützlich, einem Kollegen so z.B. zu zeigen, wie Solaris installiert wird oder wie er sein sudo file erweitert, um nur 2 der letzten Anwendungsfälle zu schildern.

  4. #4
    Schöner von Nordhausen Avatar von lazertis
    Registriert
    11.2006
    Ort
    Kelsterbach (bei Frankfurt)
    Beiträge
    327
    Hallo zusammen,

    die Konstruktion mit screen geht sogar noch etwas einfacher.

    Start der Session: Wenn ich eine screen-Session starte, tue ich dies mit dem Parameter -S und gebe der Session einen Namen, sagen wir mal Uschi:
    [FONT=Courier New] screen -S Uschi[/FONT]
    Einer Session beitreten (attachen): Anschliessend loggt sich die zweite Person auf denselben User per ssh an und startet screen mit dem Parameter x sowie dem Session-Namen
    [FONT=Courier New] screen -x Uschi[/FONT]
    Schon können beide in parallel in der Screen-Session arbeiten.

    Eine Session verlassen: ...kann man durch einen Detach mit folgender Tastenkombination:
    Ctrl-A + d
    (Also erst Ctrl plus a, danach die Taste d (für detach). Schon ist man wieder draussen.)

    Session beenden: Mit [FONT=Courier New]exit[/FONT] oder Ctrl-D

    Natürlich sind bei ssh-Zugängen die jeweils sinnvollen und notwendigen Sicherheitsregeln zu beachten, aber das ist ein anderes Thema...
    [FONT=Verdana]| HP: www.schaf.de mit Mac-Bereich | Haustiere: 3 Macs - 2 Wellensittiche - 1 Karnickel |[/FONT]


  5. #5
    Pfirsichroter Sommerapfel Avatar von Rastafari
    Registriert
    03.2005
    Beiträge
    12.611
    Zitat Zitat von Skeeve Beitrag anzeigen
    Code:
    sudo chmod +s /usr/bin/screen
    Ein derart wackeliges Gefrickel-Dingens wie "screen", das noch dazu über eine derart unüberschaubare und vielschichtige Möglichkeit zu verdeckten Hintergrundoperationen bietet...
    screen suid setzen?
    Da würde ich lieber meine Brieftasche einem wildfremden Junkie vor dem Frankfurter Hauptbahnhof in die Finger drücken und ihn bitten, mal kurz darauf aufzupassen...
    KEINE plusgute Idee. screen ist mir schon unter "normalen" Benutzerrechten nicht ganz geheuer. Danke - nein.

  6. #6
    Schöner von Nordhausen Avatar von lazertis
    Registriert
    11.2006
    Ort
    Kelsterbach (bei Frankfurt)
    Beiträge
    327
    Jep, volle Zustimmung, ein suid auf screen ist grob fahrlässig. Darum kommt die von mir gepostete Lösung auch ohne suid (d.h mit dem nach Mac OS X-Installation vorhandenen Standard) aus und kann nur "innerhalb des startenden Users" ausgeführt werden.

    In einer solchen Umgebung halte ich screen für durchaus praktisch, solange man sich durch andere Sicherheitsnachlässigkeiten nicht gerade den Frankfurter Bahnhofsjunkie auf den Rechner geholt hat.
    [FONT=Verdana]| HP: www.schaf.de mit Mac-Bereich | Haustiere: 3 Macs - 2 Wellensittiche - 1 Karnickel |[/FONT]


  7. #7
    inaktiv
    Themenstarter
    Avatar von Skeeve
    Registriert
    10.2005
    Ort
    Nahe Aix-la-Chapelle
    Beiträge
    3.121
    Zitat Zitat von lazertis Beitrag anzeigen
    Darum kommt die von mir gepostete Lösung auch ohne suid (d.h mit dem nach Mac OS X-Installation vorhandenen Standard) aus und kann nur "innerhalb des startenden Users" ausgeführt werden.
    Schön wäre es. Klappt aber nicht. Ich habe mit "chmod -s /usr/bin/screen" das Bit wieder gelöscht.

    Dann habe ich ausgeführt
    Code:
    ich$ screen -S Uschi
    Zusätzlich habe ich die Kommandos "multiuser on" und "addacl andererUser" eingegeben, auch wenn Du das nicht beschrieben hast.

    Wenn der andere User nun eingibt:
    Code:
    anderer$ screen -x Uschi
    erscheint "There is no screen to be attached matching Uschi."

    Wenn er eingibt:
    Code:
    screen -x Uschi/
    erscheint "Must run suid root for multiuser support."

    Es wäre also schön, Du würdest Deine Lösung nochmal überprüfen und wir suchen nach der richtigen Lösung um das Mini-Tutorial entsprechend zu ändern.

    Nachtrag: Multiuser support geht so nicht! Siehe hier.... Was Du beschrieben hast ist nur praktikabel, wenn beide User im selben Account arbeiten!

    Das sollte auch nicht unbedingt ein Problem darstellen. Denn wenn ich das s-Bit setzen darf, dann darf ich höchstwahrscheinlich auch einen User extra zu diesem Zweck anlegen. Wenn ich dann im screen bin, kann ich mit login auf meinen echten User wechseln.
    Geändert von Skeeve (26.04.2007 um 13:11 Uhr)

  8. #8
    Schöner von Nordhausen Avatar von lazertis
    Registriert
    11.2006
    Ort
    Kelsterbach (bei Frankfurt)
    Beiträge
    327
    @Skeeve: Den Multiuser-Support habe ich bisher nicht genutzt, da kann ich nichts zu sagen. Ich nehme aber an, daß Du genau dafür das suid brauchst. (Der andere User führt damit screen als root aus und kann deswegen in einer User-fremden Session einsteigen. Genau das ist aber ein grosses Sicherheitsloch!)

    Meine Lösung braucht kein suid, funktioniert aber auch nur innerhalb eines Users, d.h. Dein "Besucher" muss als derselbe User wie Du angemeldet sein.
    [FONT=Verdana]| HP: www.schaf.de mit Mac-Bereich | Haustiere: 3 Macs - 2 Wellensittiche - 1 Karnickel |[/FONT]


  9. #9
    Cellini
    Registriert
    09.2005
    Beiträge
    8.740
    Soweit ich screen kenne ist ein Multiattach von verschiedenen (non-root) Usern ausschließlich möglich wenn screen SUID root ist. Dies ist natürlich sicherheitstechnisch unter keinen Umständen vertretbar.

    Die beste Lösung dürfte daher wirklich sein, daß beide Benutzer sich mit einem unpreviligierten User einloggen, die screen session starten und der "Leiter" der Session diese dann per login mit dem entsprechenden previligierten User anmeldet.

    Alternativ könnte man schauen inwiefern man den Output einer Terminal (oder auch screen) Session per wall(1) oder write(1) an einen anderen User senden könnte. So wäre auch das read only Problem erledigt.
    Gruß Pepi

    ...und wenn ich jetzt noch irssi mit screen und multiwindow support per ssh zum Laufen bekäme hätte ich einen großen Knoten weniger in meinem Kopf...

  10. #10
    Schöner von Nordhausen Avatar von lazertis
    Registriert
    11.2006
    Ort
    Kelsterbach (bei Frankfurt)
    Beiträge
    327
    Zitat Zitat von pepi Beitrag anzeigen
    Soweit ich screen kenne ist ein Multiattach von verschiedenen (non-root) Usern ausschließlich möglich wenn screen SUID root ist. Dies ist natürlich sicherheitstechnisch unter keinen Umständen vertretbar.
    ---------------------------------------------------------------------------------------------------------------
    Ergänzung: Meine untenstehende Antwort basiert auf einem Mißverständnis.
    Sie ist zwar korrekt, aber Pepis obenstehende Aussage natürlich auch.
    ---------------------------------------------------------------------------------------------------------------


    Doch, es funktioniert - wie von mir in Post #4 beschrieben - wenn beide mit demselben User angemeldet sind. Dieser braucht keine Adminrechte. Und screen ist nicht SUID:

    [FONT=Courier New]pro:~ elmar$ ls -l /usr/bin/screen
    -rwxr-xr-x 1 root wheel 628408 Jul 2 2006 /usr/bin/screen
    [/FONT]
    SUID root sähe so aus:

    [FONT=Courier New]pro:/usr/bin root# ls -l screen
    -rwsr-xr-x 1 root wheel 628408 Jul 2 2006 screen[/FONT]

    Einfach mal ausprobieren...
    Geändert von lazertis (04.05.2007 um 12:31 Uhr) Grund: Ergänzung w/ Mißverständnis
    [FONT=Verdana]| HP: www.schaf.de mit Mac-Bereich | Haustiere: 3 Macs - 2 Wellensittiche - 1 Karnickel |[/FONT]


Ähnliche Themen

  1. Antworten: 22
    Letzter Beitrag: 06.03.2010, 15:21
  2. [TUTORIAL] Terminal - Teil 1
    Von Hobbes_ im Forum Software
    Antworten: 37
    Letzter Beitrag: 04.11.2009, 12:23
  3. [Mini-Tutorial] Firefox Erweiterung Greasemonkey
    Von Herr Sin im Forum Software
    Antworten: 12
    Letzter Beitrag: 28.07.2008, 22:22
  4. Antworten: 19
    Letzter Beitrag: 26.08.2006, 20:58
  5. [Mini Tutorial] Komplettes Backup eines iPod
    Von palmetshofer im Forum Software
    Antworten: 0
    Letzter Beitrag: 14.03.2006, 16:07

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein