Zezwalaj konkretnemu użytkownikowi na uprawnienie do odczytu / zapisu mojego folderu

41

Mam folder /home/samantha/folder które chcę udostępnić użytkownikowi tom. Potrafi czytać / zapisywać folder. Jak mogę to zrobić?

chown nie zrobiłbym tego, ponieważ nadal chcę być właścicielem folderu. Nie widzę, jak to zrobić chmod zarówno.

Zenet
źródło

Odpowiedzi:

58

Jeśli używasz Linux przy stosunkowo nowoczesnym systemie plików (ext3 / ext4, btrfs, ntfs) można to zrobić za pomocą Listy ACL POSIX :

  1. Włącz listy ACL dla systemu plików. Jest to konieczne tylko dla ext3 i ext4 na jądrach starszych niż 2.6.38. Wszystkie inne systemy plików obsługujące listy ACL włączają je automatycznie.

    mount -o remount,acl /
    tune2fs -o acl /dev/<partition>
    
  2. Dać tom dostęp do folderu:

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

Jeśli system operacyjny lub system plików nie obsługuje list ACL, innym sposobem jest grupy użytkowania.

  1. Tworzyć grupę.

    • Niektóre dystrybucje Linuksa tworzą osobną grupę dla każdego użytkownika: tom automatycznie znalazłby się w grupie również nazwanej tom.

    • Jeśli nie, utwórz grupę. To powinno działać na Linuksie ...

      groupadd tom
      gpasswd -a tom tom
      

      ... i to - w BSD:

      groupadd tom
      usermod -G tom tom
      
  2. chgrp katalog do tej grupy i nadaj uprawnienia chmod:

     chgrp tom /home/samantha/folder
     chmod g+rwx /home/samantha/folder
    
grawity
źródło
FWIW, OP dodał dodatkową odpowiedź zamiast komentowania. Ma pytanie dotyczące twojego rozwiązania. Dzięki.
Tom będzie także potrzebował uprawnienia do wykonywania / home / samantha, aby móc dotrzeć do folderu / home / samantha /.
Lord Loh.