3

Пример структуры каталогов:

 /userA-directory/
        freespace-for-userA
        /THE-UNMOVABLE-UNRENAMABLE-PROTECTED-DIR/
             userA-files
             /userA-directories/
             freespace-for-userA

Я хочу дать права на полную запись и создание внутри защищенного каталога некоторому конкретному пользователю A, но не позволяя пользователю переименовывать или перемещать этот контейнерный каталог. Не трогая имя или местоположение dirs, но полная свобода внутри. И userA также владеет родительским каталогом.

Каков был бы лучший способ достичь этого?

Текущий уровень решения, которого я мог достичь, это (с помощью @nobar):

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

1 ответ1

1

То, что вы пытаетесь сделать, если я понимаю, довольно распространено - это просто создание общей папки.

Возможно, вам не хватает того факта, что переименование каталога не контролируется тем же разрешением, что и изменение содержимого этого каталога - имя общего каталога защищено на уровне его родительского каталога.

В простейшем случае все, что вам нужно сделать, это:

chmod o-w parent ## prevent others from modifying the parent directory
chmod o+rwx parent/THE-UNMOVABLE-UNRENAMABLE-PROTECTED-DIR ## others can write

Но предыдущее позволит любому пользователю изменить общий каталог. Для более сложной настройки вы можете манипулировать OWNER и / или GROUP целевого каталога:

/parent -- OWNER:you, GROUP:you
   /THE-UNMOVABLE-UNRENAMABLE-PROTECTED-DIR/ -- OWNER:userA, GROUP:userA
      /userA-files-and-directories/ -- OWNER:userA, GROUP:userA

Используйте chown и / или chmod для управления свойствами THE-UNMOVABLE-UNRENAMABLE-PROTECTED-DIR . Вы можете увидеть свойства, используя ls -l .

Вы можете выбрать для OWNER и GROUP отдельные значения, но это, вероятно, необходимо, только если вы хотите разрешить нескольким пользователям, а также контролировать, кто имеет доступ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .