J'ai quelques fichiers que je ne peux pas supprimer à l'aide de la rf -Rf
commande. Je suis propriétaire de ces fichiers et le groupe affecté à ces fichiers est également un groupe auquel appartient mon utilisateur. Ce qui est encore plus étrange, c'est que je peux modifier leur contenu et que je peux modifier les autorisations pour eux, mais je ne peux pas supprime-les.
ls -al
total 12
dr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 .
drwxr-xr-x 3 rayell pg1083760 4096 2011-09-02 04:33 ..
-rwxrwxrwx 1 rayell pg1083760 0 2011-09-02 06:38 default.settings.php
drwxrwxrwx 2 rayell pg1083760 4096 2011-09-02 04:33 files
-rwxrwxrwx 1 rayell pg1083760 0 2011-09-02 06:38 settings.php
rm -Rf *
rm: cannot remove `default.settings.php': Permission denied
rm: cannot remove directory `files': Permission denied
rm: cannot remove `settings.php': Permission denied
Quelqu'un peut-il me dire ce qui se passe?
linux
filesystems
file-permissions
rm
RaYell
la source
la source
Réponses:
Pour supprimer un fichier, vous devez disposer d'une autorisation d'écriture sur le répertoire contenant ¹ ce fichier.
Ici, les autorisations sont
dr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 .
donc personne (autre queroot
) ne peut supprimer des fichiers dans ce répertoire. Le propriétaire doit utiliser enchmod
premier.-
1. Il y a de très bonnes raisons à cela. En «supprimant» un fichier avec
rm
, vous essayez en fait de le dissocier du répertoire (les copies liées ne seront pas supprimées).la source
J'ai eu le même problème, et
chmod
seul je n'ai pas fait l'affaire. J'ai d'abord dû changer le propriétaire (utilisateur et groupe) des fichiers que je voulais supprimer.Explication:
sudo
: assurez-vous que vous disposez des droits appropriéschown
: Commande Linux pour changer le propriétaire d'un fichier-hR
: changer le propriétaire du répertoire et de tous les sous-répertoires. Je l'ai trouvé ici .root
: nom du nouvel utilisateuradmin
: nom du nouveau groupeJ'avais déjà changé les modificateurs en 777; Je ne sais pas si c'était nécessaire ou non.
la source
chown
vous n'aviez été ni propriétaire du répertoire ni membre du groupe propriétaire du répertoire.Une autre question possible est l'attribut
Cette commande vous montrera l'attribut du fichier et un fichier avec l'attribut 'i' ne peut pas être modifié (et être supprimé)
vérifiez donc l'attribut de votre fichier et supprimez l'attribut «i» si l'attribut a été défini
la source
La raison en est que le répertoire parent a
chmod 705
quelque chose comme ça. Vous pouvezchmod
le répertoire parent par la commande suivante:Après cela, vous pouvez supprimer ce répertoire et les fichiers qu'il contient.
la source