Wie kann ich ein Verzeichnis für einen anderen Benutzer freigeben?


8

Ich möchte nicht, dass jemand im System auf den freigegebenen Ordner zugreifen kann. Ich möchte, dass nur eine eingeschränkte Gruppe von Benutzern darauf zugreifen kann.

Wie mache ich das?

Antworten:


9

Entnommen aus diesem ausgezeichneten Beitrag in den Ubuntu-Foren von Morbius1.

Die klassische Linux-Methode, um so etwas zu tun, sieht ungefähr so ​​aus:

  1. Erstellen Sie den freigegebenen Ordner:

    sudo mkdir /home/Shared
    
  2. Erstellen Sie die Gruppe des neuen Benutzers:

    sudo addgroup newgroup
    
  3. Ändern Sie den Besitz des freigegebenen Ordners in die neue Gruppe:

    sudo chown :newgroup /home/Shared
    
  4. Fügen Sie Ihrer Gruppe Ihre gewünschten Benutzer hinzu:

    sudo adduser user1 newgroup
    

Wiederholen Sie dies für alle Benutzer.

Jetzt müssen Sie einige Entscheidungen treffen, was diese Benutzer tun sollen:

  • [a] Alle Gruppenbenutzer können dem Ordner hinzufügen und daraus löschen sowie Dateien lesen und nicht in die anderen schreiben:

    sudo chmod 0770 /home/Shared
    
  • [b] Wie oben, aber nur der Eigentümer der Datei kann sie löschen:

    sudo chmod 1770 /home/Shared
    
  • [c] Alle Gruppenbenutzer können dem Ordner hinzufügen und daraus löschen sowie die Dateien des jeweils anderen lesen und schreiben:

    sudo chmod 2770 /home/Shared
    
  • [d] Wie [c], außer dass nur der Eigentümer der Datei sie löschen kann:

    sudo chmod 3770 /home/Shared
    

A 1an der ersten Position des Befehls chmod ist das Sticky-Bit, das das Löschen einer Datei an andere Personen als den Eigentümer verhindert.

A 2an der ersten Stelle des Befehls chmod ist das setgid-Bit, das alle neuen oder kopierten Dateien dazu zwingt, die Gruppe dieses Ordners zu haben.

A 3an der ersten Position des Befehls chmod ist die Kombination der Bits sticky ( 1) und setgid ( +2).

Dies alles hat eine Einschränkung, was das Setgid-Bit betrifft. Alle neuen Dateien, die in diesem Ordner erstellt und in diesen Ordner kopiert wurden, erben tatsächlich die Gruppe des Ordners. Es wurden jedoch keine Dateien in diesen Ordner verschoben. Verschobene Dateien behalten das Eigentum von jedem Ort, an dem sie verschoben wurden. Eine Möglichkeit, dieses Problem zu umgehen, ist die Verwendung von bindfs.

Wenn Sie möchten, dass andere Personen außerhalb der Gruppe die Dateien sehen, aber nicht ändern können, ändern Sie die letzte 0 im chmodBefehl in eine 5, z.

sudo chmod 0775 /home/Shared
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.