Можно ли применять специальные ограничения для содержимого каталога?

229
static

Я хочу ограничить разрешения для содержимого каталога /abc/def/:

  • отключить ссылки (символические или жесткие)
  • ограничить количество разрешений на запись, указывающих на один и тот же файл (например, до 1, поэтому только один процесс может записывать в файл одновременно, многие могут читать файл)

Является ли это возможным? и как?

Возможно, можно создать специальную файловую систему и смонтировать ее в /abc/def/каталог this . Но тогда как я могу применить специальные ограничения для пользовательской файловой системы?

0
Помимо номинальной стоимости вашего вопроса, какова цель, почему вам НУЖНО такое поведение, чего вы пытаетесь достичь? tink 11 лет назад 0
У меня есть много экземпляров одного и того же процесса (с точки зрения Unix: много процессов одной и той же программы :), и по запросу они могут записать в файл (с резюме, если процесс будет сбой). Так что, если два процесса получают один и тот же запрос - они начинают записывать в один и тот же файл ... поэтому пишут больше, тогда он должен быть там. static 11 лет назад 0

1 ответ на вопрос

0
vonbrand

The Unix filesystems just aren't designed for this.

  • Disable links: A directory just contains links to the files, they have their separate life. Makes no sense.
  • Limit concurrent writers: Can be done by explicit locks. Again, no relation to directories at all.
Итак, ни одна файловая система (не только чистый Unix) не может предложить эту функциональность? так что мне нужно сделать это самостоятельно? static 11 лет назад 0
В Unix первая точка невозможна (если вы не создадите собственную файловую систему, состоящую только из одной ссылки; было бы интересно выяснить все, что взорвалось в этой среде), вторая точка - через явные блокировки (вероятно, обязательные блокировки). vonbrand 11 лет назад 0

Похожие вопросы