Почему я не могу использовать geany для редактирования файла с атрибутом только добавления?

Я добавил, что только добавление приписывает текстовому файлу.

Но я получаю операцию, не разрешенную, когда я пытаюсь использовать Geany для редактирования ее.

Но я могу использовать echo new >> test.txt и это действительно добавляет.

Что я не понимаю?

2
задан 5 September 2018 в 09:14

1 ответ

Таким образом, Вы устанавливаете атрибут только добавления на файле с:

chattr +a test.txt

И редактирование его на текстовом редакторе, таком как Geany не работает...

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

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

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

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

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

6
ответ дан 2 December 2019 в 01:42

Другие вопросы по тегам:

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