Списки управления доступом POSIX и бит 'sticky', применяемый к каталогу

StackOverflow https://stackoverflow.com/questions/821815

Вопрос

POSIX.1e собирался определить ACL (Список контроля доступа) механизмы для POSIX (среди других вопросов, связанных с безопасностью), но предложения так и не были преобразованы в формальный стандарт.Тем не менее, ACL (не обязательно ACL POSIX.1e) поддерживаются, по крайней мере необязательно, во всех основных вариантах Unix (Linux, BSD, macOS X(ACL), HP-UX, AIX (p107ff), Солярис).Одна деталь, которую я еще не заметил, обсуждается, - это то, как списки управления доступом для файлов взаимодействуют с фиксированным битом в каталоге.

В обычном каталоге (без списков управления доступом, чтобы запутать проблему) разрешения могут быть установлены, например, на 1777 (например, в / tmp).

drwxrwxrwt  16 root     sys         4819 May  4 12:09 /tmp

Бит привязки обозначается буквой "t" в последней позиции разрешений.Это означает, что пользователь может удалить файл из каталога только в том случае, если пользователь может выполнять запись в файл.В этом есть смысл;если пользователь может выполнить запись в файл, содержимое файла может быть уничтожено.

Мой вопрос заключается в следующем:

  • Предположим, что общие разрешения (не относящиеся к ACL) для каталога / tmp такие, как показано выше.
  • Далее предположим, что параноидальный пользователь 'trembler' устанавливает разрешения, отличные от ACL, для файла /tmp/secret до 600 (пользователь "дрожащий", группа "обеспокоенный").
  • Предположим, что 'trembler' предоставляет 'rw' доступ к /tmp / secret другому пользователю 'blase' через ACL, который конкретно ссылается на 'blase'.
  • Может ли 'blase' удалить файл /tmp/secret

Если ACL принимается во внимание, ответ должен быть "да";если ACL игнорируется, ответом будет "нет".Предполагая, что списки управления доступом включены в соответствующей файловой системе, является ли поведение одинаковым для всех вариантов Unix?

Это было полезно?

Решение

Предполагая, что списки управления доступом включены в соответствующей файловой системе, является ли поведение одинаковым для всех вариантов Unix?

Поскольку списки управления доступом не реализованы единообразно во всех вариантах Unix, я бы ожидал, что поведение может отличаться в разных вариантах Unix, но это не обязательно.Если все Unices не реализуют один и тот же (стандартный) способ ACL, ИМХО, нет способа гарантировать единообразное поведение во всех вариантах Unix.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top