Le problème ici a probablement à voir avec la liste de contrôle d'accès (ACL) du dossier Musique. L'ACL est un système d'autorisation distinct de ceux POSIX réguliers qui sont normalement répertoriés par ls -l
. Certains autres répertoires dans le dossier Accueil et ailleurs ont également des ACL.
Pour voir les ACL dans le répertoire personnel, utilisez:
/bin/ls -le ~
Vous verrez probablement une règle comme 0: group:everyone deny delete
pour le répertoire Musique. Comme vous l'avez noté, vous pouvez contourner le problème avec sudo
. Si vous ne voulez pas faire cela (ou ne pouvez pas), vous avez d'autres options, étant donné que vous êtes le propriétaire du fichier. Vous pouvez supprimer l'entrée incriminée de l'ACL du répertoire Music, en fonction de son index (0 dans l'exemple que j'ai donné ci-dessus):
/bin/chmod -a# 0 Music
Ou vous pouvez supprimer toutes les entrées de l'ACL:
/bin/chmod -N Music
Vous pouvez maintenant déplacer le répertoire (sous réserve des autorisations POSIX normales). Si vous souhaitez remettre l'ACL après le déplacement, vous pouvez utiliser:
/bin/chmod +a "group:everyone deny delete" Music_tmp
Et utilisez à /bin/ls -le
nouveau pour confirmer que l'ACL est comme vous le souhaitez. Consultez les exemples ACL man chmod
pour plus d'informations. En particulier, cette introduction est utile:
Chaque fichier a une ACL, contenant une liste ordonnée d'entrées. Chaque entrée fait référence à un utilisateur ou à un groupe et accorde ou refuse un ensemble d'autorisations. Dans les cas où un utilisateur et un groupe existent avec le même nom, le nom de l'utilisateur / groupe peut être préfixé avec "utilisateur:" ou "groupe:" afin de spécifier le type de nom.
Commande ACL
Je ne pense pas que la page de manuel explique les règles de commande, mais cette page explique clairement les règles de commande des ACL. En particulier, une deny
règle explicite sera appliquée avant une allow
règle explicite . Ainsi, tant que l' group:everyone deny delete
entrée est en place, il n'est pas possible d'accorder à votre utilisateur la permission de supprimer avec une allow
règle. En effet, l'autorisation est refusée au everyone
groupe, qui vous inclut, et cette règle sera appliquée en premier.