Предотвратить удаление или принуждение подкаталога к структуре каталогов

представьте себе следующую структуру папок

../documents

../documents/templates

У меня две группы пользователей:

  • редакторы
  • менеджеры

Пользователи обеих групп должны иметь возможность

  • создавать новые файлы
  • изменять любые файлы
  • удалять любые файлы

в ../documents.

Обе группы также должны иметь возможность читать любые файлы в файлах ../documents/templates.

Только пользователи в «менеджерах» группы должны иметь возможность

  • создавать новые файлы
  • изменять любые файлы
  • удалять любые файлы

в ../documents/templates.

Каталог «../documents/templates» должен быть отменен для обеих групп!

Как я могу это достичь? Я пришел к выводу, что это невозможно с Linux (даже с POSIX ACL), потому что вам нужно установить g = rwx для «документов», что позволит пользователям обеих групп создавать / удалять / изменять любые файлы в этот каталог … но + w также позволяет удалить подкаталог «шаблоны», и я не знаю, как это отрицать.

One Solution collect form web for “Предотвратить удаление или принуждение подкаталога к структуре каталогов”

Никто не сможет удалить ../documents/templates если он содержит что-либо еще. Таким образом, вы можете создать подкаталог ../documents/templates/.hidden , с ../documents/templates/.hidden разрешений, и поместить в него пустой файл (ну, прежде чем устанавливать 000 разрешений, очевидно). Тогда rmdir ../documents/templates не удастся, как и rmdir ../documents/templates/.hidden .

Изменить: заимствовать из другого ответа, который был удален, если вы являетесь суперпользователем, вы можете сделать это вместо этого, что немного проще:

 cd ../documents/templates touch .locked chattr +i .locked 

( chattr должен запускаться как суперпользователь.)

  • Оптимизировать скрипт / команду оболочки для удаления файлов
  • Как удалить папку тильды (~)?
  • Поиск недостающих имен файлов между двумя каталогами в Linux
  • Как удалить упрямый каталог?
  • Как исключить некоторые каталоги при удалении с помощью «rm -rf» или «rmdir»?
  • mv-файл без права на запись в исходный файл
  • Удаление определенных типов файлов, кроме папки
  • Удаляются ли ссылки между файлом inode и data файла при удалении файла?
  • Как безопасно удалить обычный каталог, содержащий несколько снимков btrfs внутри него?
  • как удалить файл, начинающийся с «-»
  • Почему не удается root удалить файл?
  • Interesting Posts

    Как указать спецификатор формата blkparse, который также подавляет сводку

    Цепочка команд mysqldumps для вывода одного gzip-файла

    Не удалось синхронизировать ntp с серверами

    Сценарий Bash для выбора файлов для zip / unzip

    Как установить без подключения к Интернету?

    Как сканировать исходящие закрытые порты с nmap?

    TLS на vsftpd в браузере не существует: 530 Неанонимные сеансы должны использовать шифрование

    Удалите функцию зашифрованного LVM, чтобы удалить введенный запрос пароля во время загрузки Ubuntu

    zsh: команда не найдена: {compinstall, compinit, compdef}

    Виртуальный интерфейс и различные IP-адреса

    Как отключить мусор?

    Как определить, какие процессы используют, сколько энтропии из / dev / urandom

    Создание файла TAGS Emacs

    Создайте задания cron, чтобы повторять каждые X единиц времени, начиная с судовой единицы

    Прекратить завершение bash из-за умных и игнорирования расширений

    Linux и Unix - лучшая ОС в мире.