У меня есть папка, в которую несколько пользователей записывают и редактируют файлы, проблема в том, что файлы используются приложением, и для запуска этого приложения ему необходимы разрешения (чтение и запись), но отредактированные файлы принадлежат пользователю, который его редактировал. перед запуском программы она настраивалась с помощью скрипта, но файлы были слишком большими, и его жесткая работа позволяла жесткому диску устанавливать разрешения для файлов размером 100 Кб каждый раз, когда я хочу запустить свое приложение. Любая работа вокруг?

1 ответ1

1

Есть два подхода:

  • "Классический" использует так называемый групповой липкий бит:

    В Linux "липкий бит группы", установленный в каталоге, устанавливает для всех файлов, созданных в этом каталоге, группу владельцев, равную той, которая содержится в каталоге, в отличие от основной группы пользователя, которая используется по умолчанию.

    Вот как это сделать:

    1. Добавьте всех пользователей в выделенную группу.
    2. Установите группу владельцев в этом каталоге в эту новую группу.
    3. Измените разрешения для этого каталога, включив в него g=rwxs то есть включите залипание группы, одновременно предоставив членам этой группы "разумный" доступ.
    4. Сделайте так, чтобы у каждого пользователя было значение umask процесса, который они используют для редактирования этих файлов, не маскируйте биты разрешений группы - то есть, 002 или 007 - это нормально, но 022 - нет, поскольку это сделало бы, чтобы файлы, созданные в каталоге, имели g-w в своих биты разрешения, следовательно, мешают другим пользователям редактировать файлы.

    См. "Демистифицированные разрешения файловой системы Linux" для получения дополнительной информации.

  • Используйте POSIX ACL для точной настройки прав доступа.

    Это часто забытое место, но с тех пор Debian поставляется с этой функцией, включенной по умолчанию в ядре и в файловых системах, которые его поддерживают.

    Вы можете начать с этого.

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