Linux: Создайте файлы и direcotires, но не удалите их

Да это возможно, но необходимо помнить, что, если у Вас есть транзакция на ведущем устройстве и уровне строки, соединяют ведомое использование MyISAM, это делает блокировку таблицы и будет медленнее. Кроме того, если Вы хотите изменить ведомое устройство ведущего устройства в случае аварии затем, необходимо не забыть изменять механизм. Используя MyISAM на ведомом устройстве может сделать Ваши запросы Select быстрее.

2
задан 2 October 2012 в 10:55
2 ответа

Вы сможете чего-то добиться, установив расширенные атрибуты с помощью chattr .

Используйте chattr + a в своих каталогах. Это позволит добавлять их, но не даст им удалить файлы.

Используйте chattr + i , чтобы сделать ваши файлы неизменяемыми - их нельзя будет изменить, как только это будет установлено.

Файл с установленным атрибутом 'a' может быть открыт только в режиме добавления для письмо. Только суперпользователь или процесс, обладающий Возможность CAP_LINUX_IMMUTABLE может устанавливать или очищать этот атрибут.

Файл с атрибутом 'i' не может быть изменен: он не может быть удален или переименован, нельзя создать ссылку на этот файл и данные не могут быть записано в файл. Только суперпользователь или процесс, обладающий Возможность CAP_LINUX_IMMUTABLE может устанавливать или очищать этот атрибут.

4
ответ дан 3 December 2019 в 09:19

Это невозможно со стандартным POSIX unix права доступа к файлам.

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

chmod 1775 /directory

ОБНОВЛЕНИЕ: Вы можете получить более точный контроль с помощью SELinux или Apparmor, но при таком подходе вы должны предоставить разрешения процессам для файлов.

ОБНОВЛЕНИЕ: У вас есть возможность использовать системное добавление -только флаг для отдельных файлов. Не во всех файловых системах: chattr + имя файла

2
ответ дан 3 December 2019 в 09:19

Теги

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