Разрешить определенному пользователю разрешение на чтение / запись моей папки

42

У меня есть папка, /home/samantha/folderкоторой я хочу поделиться с пользователем tom. Он может читать / писать папки. Как я могу это сделать?

chownне стал бы этого делать, потому что я все еще хочу иметь возможность быть владельцем папки. Я тоже не вижу, как это сделать chmod.

Zenet
источник

Ответы:

61

Если вы используете Linux с относительно современной файловой системой (ext3 / ext4, btrfs, ntfs), это можно сделать с помощью POSIX ACL :

  1. Включить ACL для файловой системы. Это необходимо только для ext3 и ext4 в ядрах старше 2.6.38. Все остальные файловые системы, которые поддерживают ACL, включают их автоматически.

    mount -o remount,acl /
    tune2fs -o acl /dev/<partition>
    
  2. Дайте tomдоступ к папке:

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

Если ОС или файловая система не поддерживает ACL, другой способ - использовать группы.

  1. Создать группу.

    • Некоторые дистрибутивы Linux создают отдельную группу для каждого пользователя: tomавтоматически попадают в группу с именем tom.

    • Если нет, создайте группу. Это должно работать на Linux ...

      groupadd tom
      gpasswd -a tom tom
      

      ... и это - на BSD:

      groupadd tom
      usermod -G tom tom
      
  2. chgrpкаталог этой группы, и дать разрешения с chmod:

     chgrp tom /home/samantha/folder
     chmod g+rwx /home/samantha/folder
    
grawity
источник
Кстати, ОП добавил дополнительный ответ вместо комментариев. У него / нее есть вопрос о вашем решении. Спасибо.
И Тому также понадобится разрешение на выполнение / home / samantha, чтобы получить доступ к папке / home / samantha /.
Лорд Ло.