Unix: есть ли способ сделать файл доступным для записи, но не для удаления, перемещения или копирования?

Mac OS X open имеет -W или - wait-apps ], которая может быть актуальной:

% open -h
...
      -W, --wait-apps   Blocks until the used applications are
                        closed (even if they were already running).

Однако не уверен, в какой версии ОС они ее добавили.

1
19.06.2018, 09:24
2 ответа

Предположим, что файл и каталог, в котором находится файл (, его родительский каталог )принадлежат совершенно отдельному пользователю и принадлежат к совместной группе...

Если сделать родительский каталог файла недоступным -для записи для группы, это сделает файл недоступным -для удаления членами этой группы. Запретив -удаление файла членами группы, вы гарантируете, что эти члены группы не смогут переместить файл из родительского каталога.

Вы не можете сделать файл доступным для чтения и недоступным -для копирования, поскольку чтение файла по своей сути позволяет пользователям копировать его.

«Другие» не будут иметь прав доступа к файлу или родительскому каталогу.


В идеале вы должны использовать некоторую форму системы, возможно, поддерживаемую git, которая позволит людям совместно работать над файлом контролируемым образом. Это упростит контроль доступа, удаленный доступ, а также контроль версий.

1
28.01.2020, 02:12

В Solaris (в ZFS )вы можете позвонить:

chmod S+cu file

Во FreeBSD вы можете вызвать:

chflags sunlink file

В Linux можно вызвать

chattr +u file

Во всех случаях для установки флага необходимо быть суперпользователем.

Linux не поддерживает это в файловых системах ext *.

-2
28.01.2020, 02:12

Теги

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