Bestimmten Benutzern das Lesen / Schreiben meines Ordners erlauben


42

Ich habe einen Ordner /home/samantha/folder, den ich für den Benutzer freigeben möchte tom. Er kann den Ordner lesen / schreiben. Wie mache ich das?

chownwürde es nicht tun, weil ich immer noch in der Lage sein möchte, der Besitzer des Ordners zu sein. Ich sehe auch nicht, wie ich das machen soll chmod.

Antworten:


61

Wenn Sie Linux mit einem relativ modernen Dateisystem (ext3 / ext4, btrfs, ntfs) verwenden, können Sie dies mit POSIX-ACLs tun :

  1. Aktivieren Sie ACLs für das Dateisystem. Dies ist nur für ext3 und ext4 auf Kerneln erforderlich, die älter als 2.6.38 sind. Alle anderen Dateisysteme, die ACLs unterstützen, aktivieren diese automatisch.

    mount -o remount,acl /
    tune2fs -o acl /dev/<partition>
    
  2. Geben Sie tomZugriff auf den Ordner:

    setfacl -m user:tom:rwx /home/samantha/folder
    

Wenn das Betriebssystem oder das Dateisystem keine ACLs unterstützt, können Sie auch Gruppen verwenden.

  1. Erstellen Sie eine Gruppe.

    • Einige Linux-Distributionen erstellen für jeden Benutzer eine eigene Gruppe: Sie befinden tomsich automatisch in einer Gruppe mit dem gleichen Namen tom.

    • Wenn nicht, erstellen Sie eine Gruppe. Dies sollte unter Linux funktionieren ...

      groupadd tom
      gpasswd -a tom tom
      

      ... und das - bei BSD:

      groupadd tom
      usermod -G tom tom
      
  2. chgrpdas Verzeichnis zu dieser Gruppe, und geben Sie Berechtigungen mit chmod:

     chgrp tom /home/samantha/folder
     chmod g+rwx /home/samantha/folder
    

FWIW, das OP fügte eine zusätzliche Antwort hinzu, anstatt zu kommentieren. Er / sie hat eine Frage zu Ihrer Lösung. Vielen Dank.

Außerdem benötigt tom die Ausführungsberechtigung für / home / samantha, um / home / samantha / folder erreichen zu können.
Lord Loh.

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.