Linux позволяет защитить файлы и каталоги от удаления путем установки липкого бита, который позволяет владельцам или пользователю root иметь возможность удалить их. Этот метод используется системными администраторами для защиты файлов и каталогов от неавторизованных пользователей. Липкий бит не только не позволяет неавторизованным пользователям удалять файлы и каталоги, но и запрещает вносить в них какие-либо изменения. Иногда вам может понадобиться удалить файл, защищенный от записи, в Linux. Ниже приведены шаги для этого. Они работают в большинстве дистрибутивов Linux.
Как удалить файл с защитой от записи в Linux
Ниже описаны шаги по удалению защищенного от записи файла.
1. Проверьте права доступа
Только владельцы, суперпользователи и пользователи root могут удалять или изменять файлы и каталоги, защищенные от записи. Поэтому сначала посмотрите разрешения на файл с помощью команды ls -l.
1 | ls -l [имя файла] |
1 | -rwxrwxrwt ... |
В приведенном выше выводе последний бит 't' является "липким" битом, и если его значение равно только t, то файл защищен от записи. В противном случае любой может удалить его.
2. Проверьте разрешение на доступ к каталогу
Далее вам необходимо иметь доступ на запись в каталог (его родительский каталог), который позволит вам изменять или удалять этот файл или каталог.
1 | ls -ld [bимя директории] |
Если у вас недостаточно привилегий, вы можете переключиться на суперпользователя, а затем удалить файл.
1 2 | su - rm -f [имя файла] |
3. Проверка атрибута i
Наконец, необходимо проверить, установлен ли атрибут расширенной файловой системы 'i' для этого файла. Если у файла или каталога установлен этот атрибут, то он не может быть изменен, удален, переименован или связан. Только пользователь root может добавлять/удалять это разрешение. Вы можете использовать команду lsattr для проверки значения этого атрибута.
1 | lsattr [имя файла] |
Вы увидите следующий вид вывода.
1 | ----i------------ filename |
Например, приведенный выше вывод показывает, что для него установлен атрибут 'i'. В таких случаях вы можете использовать команду chattr -i для удаления атрибута 'i' файла. Но учтите, что только пользователь root сможет выполнить эту команду. После удаления атрибута 'i' для файла или каталога он может быть удален и другими пользователями.
1 2 | chattr -i [имя файла] rm -f [имя файла] |
Заключение
В этой статье мы узнали, как удалить защищенный от записи файл в Linux.