Я ищу способ остановить случайное удаление некоторых важных файлов в Linux, но по нескольким критериям. Файл должен оставаться доступным для записи (поэтому он, конечно, может быть заменен мусорными данными, усеченными и т.д.), И пользователь должен иметь возможность создавать новые файлы в том же каталоге.

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

Решение заключается в защите от того, кто запускает неуместную команду rm .

1 ответ1

1

Чтобы остановить случайное удаление, это может быть так же просто, как создать псевдоним для « rm » для всех пользователей (например, поместив это в ``/etc/profile```):

$ alias rm="echo Please don\'t delete any files\!"
$ rm foo
Please don't delete any files! foo

Чтобы запретить пользователям использовать команду /bin/rm , для этой команды можно задать списки ACL , например, разрешить использование /bin/rm: только пользователям из группы "staff:"

$ sudo chmod 0700 /bin/rm
$ sudo setfacl -m g:staff:rx

Это не остановит намеренное удаление файлов. Если файл должен быть доступен для записи, пользователи могут просто "обнулить" файл (если это не запрещено через « chattr -a ») - файл все равно будет там, но имеет нулевой размер.

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

Чтобы действительно предотвратить удаление файлов, правильными разрешениями Unix или ACL могут быть.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .