Дозволити конкретному користувачеві дозволу на читання / запис моєї папки


42

У мене є папка, /home/samantha/folderякою я хочу поділитися з користувачем tom. Він може читати / писати папку. Як це зробити?

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

Відповіді:


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
    

FWIW, ОП додало додаткову відповідь замість коментарів. У нього є питання щодо вашого рішення. Спасибі.

І Tom також знадобиться виконати дозвіл на / home / samantha, щоб мати можливість дістатися / home / samantha / folder.
Лорд Лох.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.