Добавить только файл
Я пытаюсь реализовать файл. Каждое событие просто добавляет одну строку в файл. Пока это нелегко. Жесткая часть состоит в том, что несколько пользователей должны иметь возможность добавлять записи в этот файл, но никто не должен иметь возможность изменять или удалять существующие. Могу ли я каким-то образом применять это, используя права доступа к файлам? Я использую Linux.
спасибо
Ответы
Ответ 1
В linux вы можете использовать только флаг append-only. Это не доступно для всех файловых систем.
Этот атрибут устанавливается с помощью утилиты chattr, и вы должны просмотреть страницу руководства. Только root может установить этот атрибут.
На Ubuntu вы, вероятно, в конечном итоге выполните:
sudo chattr + имя файла
Ответ 2
Классические разрешения, чтение, запись и выполнение не приведут вас туда. Если у вас есть разрешение на запись, вы можете удалить файл и все его строки.
Вам понадобится какая-то программа для арбитража доступа к файлу. Одним из способов было бы открыть фило и попросить продюсеров написать на фило. Если записи не слишком большие (записи 4k являются атомарными в моем linux-блоке), разные записи не будут смешиваться. У того, что у потребительского процесса есть привилегии, которые у производителей нет, производители не смогут увидеть окончательные результаты.
Для этого вы можете использовать что-то вроде syslog.