Datei an Freund übertragen



  • Hallo, ich habe eine Frage; es geht darum, dass ich eine Datei erstelle und diese an einen Freund via Linux weitergeben möchte, sodass er daran arbeiten kann.

    Also konkret:

    Ich befinde mich z.B. im Verzeichnis

    /home/ich
    

    und hier habe ich die Datei test.txt abgelegt.

    Nun möchte ich diese Datei gerne an meinen Freund geben und zwar kopieren nach

    /home/freund/tmp
    

    Mein Freund muss dazu bei den Benutzerrechten seines Verzeichnisses doch eingestellt haben:

    rwx
    

    bzw. es genügt auch nur das Zugriffsrecht x?

    Wenn er das gesetzt hat, müsste doch Folgendes gehen:

    cp test.txt /home/freund/tmp
    

    - korrekt?

    Jetzt muss ich ja noch für die kopierte Datei, die sich jetzt im Verzeichnis tmp meines Freundes befinden sollte, die Zugriffsrechte dahingehend ändern, dass er sie lesen und ändern kann, spricht die Rechte rw vergeben.

    Doch darf/ kann ich in seinem Verzeichnis tmp die Benutzerrechte überhaupt ändern? Oder wie ändere ich in diesem Fall die Zugriffsrechte der Kopie?

    Viele Grüße


  • Mod

    linux_newbi schrieb:

    Mein Freund muss dazu bei den Benutzerrechten seines Verzeichnisses doch eingestellt haben:

    rwx
    

    bzw. es genügt auch nur das Zugriffsrecht x?

    Wenn er das gesetzt hat, müsste doch Folgendes gehen:

    cp test.txt /home/freund/tmp
    

    - korrekt?

    Nicht korrekt, sondern unvollständig. Benutzerrechte werden (normalerweise) in drei Kategorien vergeben: Für den Nutzer (Owner) der Datei selbst, für Nutzer in der Nutzergruppe zu der die Datei gehört und für alle anderen Nutzer. Sonst hätte schließlich jeder überall Vollzugriff, wenn nur irgendjemand anderes Zugriff hat.

    Damit du auf des Homeverzeichnisses deines Freundes Zugriff hast, muss also eines der folgenden Szenarien zutreffen:
    a) Dein Freund hat selber Zugriff auf sein Verzeichnis :p und du hast die Möglichkeit, dich als dein Freund auszugeben (zum Beispiel indem dein Freund sein Kennwort bei dir eintippt und dabei ganz doll aufpasst, dass du damit keinen Unsinn machst)
    b) Ihr seid beide in der gleichen Gruppe und dein Freund vertraut Gruppenmitgliedern genügend, um ihnen Schreibzugriff (du brauchst übrigens w, nicht x) gewährt zu haben.
    c) Dein Freund ist unvorsichtig naiv und hat jedem Nutzer Schreibzugriff gewährt.

    Doch darf/ kann ich in seinem Verzeichnis tmp die Benutzerrechte überhaupt ändern? Oder wie ändere ich in diesem Fall die Zugriffsrechte der Kopie?

    Wenn du die Datei erstellen konntest, dann kannst du auch ihre Ownership und Gruppenzugehörigkeit ändern (mit chown und chgrp).

    ⚠ Das waren die Antworten auf deine Fragen, nun die Erklärung, wie es richtig geht ⚠
    - Soll das öfters stattfinden und ihr vertraut euch, dann erstellt wie oben beschrieben eine gemeinsame Gruppe. Damit man sich nicht ganz so stark vertrauen braucht, ist es üblich, sich bloß gemeinsame Leserechte zu gewähren und dein Freund kopiert dann die Datei zu sich, anstatt du die Datei zu ihm.
    - Ist das eine einmalige Aktion, so kannst du nur für diese Datei(en) allgemeine Leserechte gewähren und dein Freund kann sie dann zu sich kopieren. Theoretisch kann dein Freund auch allgemeine Schreibrechte in einem Verzeichnis gewähren, aber eigentlich ist es aus Sicherheitsgründen halt üblich, dass man Dateien zu sich kopiert, anstatt sie zu sich kopiert zu bekommen.
    - Für seltene Kopieraktionen kann man auch mal eben scp missbrauchen. Dazu müsst ihr beide anwesend sein. Einer initiiert die Kopie, der andere muss dann dem Befehl kurzfristig die Authentifizierung ermöglichen (das ist die Methode a von oben). Ihr müsst euch natürlich genügend vertrauen, dass der andere keinen Keylogger laufen hat. Diese Methode ist nicht gerade die feine englische Art, ist aber sehr bequem, da sie keinerlei Vorbereitung (Setzen von Rechten) erfordert.
    - Root kann natürlich auch die Datei kopieren, falls einer von euch root sein sollte und seine Privilegien missbrauchen will



  • Danke.

    Daß ich für die originale Datei selbst die Rechte setzen kann, weiß ich ja.
    Aber die Kopie liegt doch dann in dem Verzeichnis meines Freundes und hat denn die Kopie automatisch die gleichen Rechte gesetzt, wie ich sie bei der Originaldatei setze?

    Wieso muss w gesetzt sein und nicht x?

    Mir scheint der Unterschied da nicht klar zu sein.


  • Mod

    LinuxC_newbie schrieb:

    Danke.

    Daß ich für die originale Datei selbst die Rechte setzen kann, weiß ich ja.
    Aber die Kopie liegt doch dann in dem Verzeichnis meines Freundes und hat denn die Kopie automatisch die gleichen Rechte gesetzt, wie ich sie bei der Originaldatei setze?

    Ja, die Kopie hat (wenn du sie erstellst) erst einmal dich als owner und die gleichen Zugriffsrechte wie vorher. Wenn du sie aber erstellen konntest, dann hast du aber auch automatisch das Recht, die Zugriffsrechte zu ändern (ist ja deine Datei). Wenn dein Freund die Datei von dir zu sich kopiert, ist er als Ersteller auch der Besitzer der Datei.

    Wieso muss w gesetzt sein und nicht x?

    Mir scheint der Unterschied da nicht klar zu sein.

    w heißt write, das Recht zu Schreiben. x heißt execute, das Recht, die Datei auszuführen. Für Verzeichnisse haben die Rechtebits eine leicht andere Bedeutung, nachzulesen in Erklärungen der Rechteverwaltung. Bei Verzeichnissen nutzt dir ein "w" ohne "x" ziemlich wenig (auch wenn es technisch möglich ist).



  • Das heißt, ich kann dann z.B. einfach über

    chmod 660 /home/freund/tmp/test.txt
    

    einstellen, daß er und ich (sofern er in der gleichen Gruppe ist wie ich) lesen und schreiben dürfen?

    Habe ich diese Befugnis, wenn er für sein Verzeichnis tmp das Schreibrecht eingeräumt hat (damit ich die Kopie überhaupt vorher in sein tmp-Verzeichnis legen konnte)?


  • Mod

    LinuxC_newbie schrieb:

    Das heißt, ich kann dann z.B. einfach über

    chmod 660 /home/freund/tmp/test.txt
    

    einstellen, daß er und ich (sofern er in der gleichen Gruppe ist wie ich) lesen und schreiben dürfen?

    Wenn du die Rechte dazu hast (die hast du, wenn du die Datei erstellen konntest), dann: Ja.

    Habe ich diese Befugnis, wenn er für sein Verzeichnis tmp das Schreibrecht eingeräumt hat (damit ich die Kopie überhaupt vorher in sein tmp-Verzeichnis legen konnte)?

    Ja, aber deine Beschreibung ist unvollständig, daher sage ich nochmal alles ganz genau:
    Für das Verzeichnis /home/freund brauchst du x, damit du es betreten kannst. Es ist angenehm, auch r zu haben, damit du Dateien und Unterverzeichnisse sehen kannst. Wenn du aber schon weißt, dass das Unterverzeichnis tmp heißt, dann kannst du es theoretisch auch ohne r (nur mit x) benutzen. Also eine Art primitives Passwort (das ist aber nicht wirklich sicher!).

    Für das Verzeichnis /home/freund/tmp brauchst du w und x. x, damit du überhaupt etwas machen kannst und w, damit du dort schreiben darfst. Wieder liegt es nahe, dass du auch r hast, damit du auch was sehen kannst.

    Damit hast du dann schreibenden Zugriff auf /home/freund/tmp/. Alle Dateien die du dort erstellst, kannst du mit den Rechten versehen, wie du es selber für richtig hältst. Mit dem Kommando umask kannst du die Standardeinstellungen anpassen. Letzteres ist nicht zu empfehlen, wenn du keine guten Gründe hast oder nicht genau weißt, was du tust!


Log in to reply