J'ai fait un répertoire appelé "shadi" et lui ai donné cette permission
sinoosh@ubuntu:/home$ ls -ld shadi
drwxr-xrwx 2 root root 4096 Jul 1 01:58 shadi
Dans cette situation, j'ai les autorisations "autres", mais pourquoi ne puis-je pas le supprimer?
sinoosh@ubuntu:/home$ rm -r shadi/
rm: cannot remove ‘shadi/’: Permission denied
Ici, le problème est que vous n’avez pas l’autorisation "w" sur le répertoire /home
. Lors de la suppression d'un fichier, notez que vous n'écrivez pas dans ce fichier, mais que vous modifiez le contenu du répertoire qui contient le fichier. Il est donc indispensable de disposer de l'autorisation "w" sur le répertoire si vous souhaitez supprimer un fichier du répertoire.
Si je suis dans un répertoire avec l'autorisation "w", je peux supprimer n'importe lequel de ses fichiers sans me soucier de l'autorisation de fichier elle-même. Notez que mon répertoire actuel est /home/rohith
qui a l'autorisation "w" et que je peux donc supprimer n'importe lequel de ses fichiers, quelles que soient leurs autorisations.
Si le même fichier est créé dans le répertoire '/ home' sans autorisation "w", j'obtiens le même résultat que le vôtre! :)
Cela se produit parce que le répertoire ne vous appartient pas, il appartient à "root" et au groupe "root". Donc, pour le supprimer, vous pouvez soit changer le propriétaire, puis le supprimer (ici, vous élevez vos droits et devenez "root" pour prendre la propriété):
Sudo chown $USER:$USER ./shadi
rm -r ./shadi
Ou bien vous sautez la propriété et créez un Sudo rm
pour élever vos droits et devenir "root" pour la suppression:
Sudo rm -r ./shadi
Essaye ça:
Sudo rm -r ./shadi
Les autorisations indiquent les droits de propriétaire et de groupe. Vous devez donc utiliser Sudo.
utilisez cette commande en tant qu'utilisateur root: rm -rf ./shadi