Это кажется мне очень странным. Я запускаю ядро 2.6.37.2 и запускаю:
~]$ cp -r /proc/ here
~]$ rm -rf here
Я получаю некоторые отклонения разрешений при копировании, как ожидалось, и в конце концов я нажимаю Control-C. Я получаю Permission denied
много файлов при попытке удалить новый каталог и файлы.
Как примечание, я обнаружил это странное поведение, потому что друг прислал мне .tgz
снимок своего /proc
режиссера. Я извлек каталог, и когда я закончил просматривать его, у меня возникла та же проблема.
rm -rf
как root работает.
lsattr
показывает атрибут e (это то, что показывают все мои файлы / каталоги).
permissions
rm
flumpb
источник
источник
/proc
. Кстати, на этот раз уже немного поздно, но если вы выясните ответ после публикации вопроса, то вы можете ответить на него самостоятельно и оставить его другим людям, которые могут столкнуться с подобной проблемой.Ответы:
Если существует непустой каталог, в котором у вас нет разрешения на запись, вы не можете удалить его содержимое.
Причина в том, что
rm
он связан с разрешениями, как любая другая команда, а разрешение на удалениеbar
требует разрешения на записьfoo
. Это не применяется при запускеrm
от имени пользователя root, поскольку у root всегда есть разрешение на удаление файла.Чтобы сделать дерево каталогов удаляемым, сделайте все каталоги в нем доступными для записи (разрешения обычных файлов не имеют значения, когда дело доходит до удаления с помощью
rm -f
). Вы можете использовать любую из этих команд:источник