1

Я использую сервер Debian 7 и имею следующий сценарий (примеры имен)

Пользователь:

  • Пол: Пол
  • Джон Пол

Справочник: /home /paul / Справочник

  • Файл W (Владелец Пол, Группа Пол, Права: 0770)
  • Файл X (Владелец Пол, Группа Пол, Права: 0700)
  • Файл Y (Владелец Пол, Группа Пол, Права: 0700)
  • Файл Z (Владелец Джон, Группа Пол, Права: 0770)

Пользователь john должен иметь возможность удалять "Файл Z", но не "Файл X" или "Файл Y". Он также должен иметь разрешение на редактирование и удаление "Файл W".

Коротко: он должен иметь возможность удалять только свои собственные файлы, но редактировать все с разрешения для этого.

Я ищу решение использовать бит удаления каталога в указанных файлах. Опция "chattr" не подходит, потому что ничего не должно быть сделано с правами root.

У кого-нибудь есть идея?

1 ответ1

2

В модели безопасности POSIX, чтобы удалить файл, вам нужен только доступ на запись в его родительский каталог. Так что, если у учетной записи "john" есть права +w на каталог /home /john /, она всегда сможет удалить файлы внутри.

Но одним исключением является режим "липкое" / "ограниченное удаление". Когда вы устанавливаете +t для каталога, удаление файла ограничивается только владельцем файла или владельцем каталога. (Например, /tmp работает таким образом.) Поэтому, если вы выполните команду chmod +t и chown root на каталог, вы получите ожидаемый результат.

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