Cela me semble très étrange. J'utilise le noyau 2.6.37.2 et j'ai exécuté:
~]$ cp -r /proc/ here
~]$ rm -rf here
J'obtiens un refus d'autorisation lors de la copie comme prévu et j'ai finalement frappé Control-C. Je reçois Permission denied
beaucoup de fichiers lorsque j'essaie de supprimer le nouveau répertoire et les nouveaux fichiers.
Comme une note, j'ai trouvé ce comportement étrange parce qu'un ami m'a envoyé .tgz
un instantané de son /proc
dir. J'ai extrait le répertoire et quand j'ai fini de le parcourir, j'ai eu le même problème.
rm -rf
comme root fonctionne.
lsattr
montre l'attribut e (qui est ce que montrent tous mes fichiers / répertoires).
permissions
rm
flumpb
la source
la source
/proc
. Soit dit en passant, il est un peu tard pour cette fois, mais si vous trouvez la réponse après avoir posté la question, c'est bien d'y répondre vous - même et de le laisser à d'autres personnes qui pourraient rencontrer un problème similaire.Réponses:
S'il existe un répertoire non vide dans lequel vous n'avez pas l'autorisation d'écriture, vous ne pouvez pas supprimer son contenu.
La raison en est qu'elle
rm
est liée par des autorisations comme toute autre commande, et l'autorisation de supprimerbar
nécessite une autorisation d'écriture surfoo
. Cela ne s'applique pas lorsque vous exécutez enrm
tant que root, car root a toujours l'autorisation de supprimer un fichier.Pour que l'arborescence des répertoires soit supprimable, rendez tous les répertoires qu'elle contient accessibles en écriture (les autorisations des fichiers normaux n'ont pas d'importance quand il s'agit de les supprimer
rm -f
). Vous pouvez utiliser l'une de ces commandes:la source