Как разрешить пользователям создавать и удалять файлы или папки, но не изменять их?

Я создал имя группы "app-data" и папку / db-data / archived-data /

Я хочу, чтобы члены app-data имели все права на папку / db-data /, но я хочу, чтобы пользователи той же группы имели доступ только к созданию и удалению доступа к папке / db-data / archived-data / (пользователи не должны иметь возможность изменять любые файлы или каталоги в нем, но они должны иметь возможность создавать или удалять любые файлы или папки, которые они хотят.

Как мы можем это сделать. Я думаю, что это возможно с помощью ACL, но, пожалуйста, не стесняйтесь, дайте мне знать, как мы можем достичь этого? используя любой метод, я в порядке, но я хочу эту конфигурацию.

пожалуйста помоги.

1 ответ

Решение

Это определенно возможно. Во-первых, изменить /db-dataгруппа для app-data:

sudo chgrp -R app-data /db-data

Теперь настройте разрешения:

sudo chmod -R g+rwx /db-data
sudo chmod -R g-w /db-data/archived-data/*
sudo find /db-data/archived-data -type d -exec 'chmod' 'g+rwx' '{}' ';'
  • sudo chmod -R g+rwx /db-data дает app-data полные разрешения на /db-data и все внутри
  • sudo chmod -R g-w /db-data/archived-data/* удаляет app-dataправа на запись для всего внутри /db-data/archived-data
  • В заключение, sudo find /db-data/archived-data -type d -exec 'chmod' 'g+rwx' '{}' ';' восстановления app-dataразрешения на запись для каждого каталога в /db-data/archived-data (но не файлы внутри этих каталогов), что необходимо app-data создавать и удалять любые файлы или каталоги внутри /db-data/archived-data,

Теперь кто-нибудь в app-data сможет читать, выполнять, создавать и удалять файлы или каталоги в /db-data/archived-data (включая подкаталоги глубже 1 уровня; т.е. app-data сможет создавать и удалять файлы в /db-data/archived-data/a/b/). Если не хочешь app-data чтобы иметь права на чтение и / или выполнение, измените g-w в sudo chmod -R g-w /db-data/archived-data/* в g-rw без разрешений на чтение, g-wx без разрешения на выполнение или g-rwx без каких-либо разрешений (если вы делаете это после запуска find команда, вам придется перезапустить его).

Наконец, обратите внимание, что если пользователь в app-data создает файл или каталог, он / она сможет изменять созданный им файл / каталог (но существующие файлы по-прежнему не будут изменены).

Другие вопросы по тегам