Я пытаюсь удалить каталог, foo
, и я совершенно не могу попробовать.
Примечание: я знаю, я не должен удалять контейнеры LxD с помощью rm
, но раньше я испортил содержимое этого каталога, и поэтому теперь я могу использовать rm
.)
Обратите внимание, что родительский foo
(то есть, каталог containers
) имеет права на запись в него.
[root@box /var/lib/lxd]$ ls -l
drwx--x--x 1 root root 74 Dec 24 09:09 containers
<snip>
[root@box /var/lib/lxd]$ cd containers/
[root@box /var/lib/lxd/containers]$ ls -l
<snip>
drwxr-xr-x+ 1 231072 231072 0 Dec 24 09:13 foo
[root@box /var/lib/lxd/containers]$ ls -l foo
total 0
[root@box /var/lib/lxd/containers]$ lsattr
<snip>
---------------- ./foo
[root@box /var/lib/lxd/containers]$ lsattr -d foo
---------------- foo
[root@box /var/lib/lxd/containers]$ /bin/rm -rf foo
/bin/rm: cannot remove 'foo': Operation not permitted
[root@box /var/lib/lxd/containers]$ chattr -R -ia foo
[root@box /var/lib/lxd/containers]$ lsattr -d foo
---------------- foo
[root@box /var/lib/lxd/containers]$ /bin/rm -rf foo
/bin/rm: cannot remove 'foo': Operation not permitted
[root@box /var/lib/lxd/containers]$ ls -l
<snip>
drwxr-xr-x+ 1 231072 231072 0 Dec 24 09:13 foo
Даже chown -R root.root foo
не помогает!
Что удивительно, так это то, что lsattr
показывает никаких дополнительных атрибутов, установленных для foo
, как для начала, так и после команды chattr
. Итак, почему ls -l foo
показывал - и продолжает показывать - +
рядом со списком foo
?
Я использую Ubuntu 16.04 с ext4fs, с последними обновлениями на сегодня.
РЕДАКТИРОВАТЬ: файловая система btrfs, а не ext4fs. Это внешний жесткий диск USB, который я монтирую на /var/lib/lxd
моего хоста.