Как удалить файл, у которого нет прав на запись ни у одного пользователя?

Как удалить файл, у которого нет прав на запись ни у одного пользователя?

Я оказался в странной ситуации, когда скрипт записал файлы со следующими разрешениями:

-r-------- 1 user1 user1 file1 Dec 24 14:53
-r-------- 1 user1 user1 file2 Dec 24 14:54
-r-------- 1 user1 user1 file3 Dec 24 14:55

Как удалить эти файлы? Я не могу изменить права доступа к файлам с помощью chmod [ни с помощью 'user1', ни как sudo/root].

[Если это имеет значение, я использую Ubuntu]

решение1

Если выне может взять на себя ответственностьиз них с командой:
sudo chown "${USER}" filename

А тыне могу удалитьих с помощью команды:
sudo rm filename

Затем вам нужно проверить, можете ли вы вообще производить запись в раздел.

Если вы можете изменить другие файлы на разделе, но не эти файлы, то, вероятно, у вас одна из следующих проблем:

  • Файлы с установленным флагом неизменяемости
  • Ошибки файловой системы
  • Только для чтения overlay-fs
  • Какой-то странный поврежденный ACL

или поток ядра или руткит могут блокировать запись в файлы.

решение2

Удаление файла означает изменение каталога, содержащего его. Разрешения файла (и его владелец, если на то пошло) несущественны.

Итак, если у вас есть права на запись в содержащий его каталог, то простой вариант rmдолжен сработать.

Если вы этого не сделаете, вам придется сделать это chmod +w .в первую очередь.

Связанный контент