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 deletepour 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 -lenouveau pour confirmer que l'ACL est comme vous le souhaitez. Consultez les exemples ACL man chmodpour 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 denyrègle explicite sera appliquée avant une allowrègle explicite . Ainsi, tant que l' group:everyone deny deleteentrée est en place, il n'est pas possible d'accorder à votre utilisateur la permission de supprimer avec une allowrègle. En effet, l'autorisation est refusée au everyonegroupe, qui vous inclut, et cette règle sera appliquée en premier.