Das Problem hier hat wahrscheinlich mit der Zugriffssteuerungsliste (Access Control List, ACL) des Musikordners zu tun. Die ACL ist ein separates Berechtigungssystem zu den regulären POSIX-Berechtigungssystemen, die normalerweise von aufgelistet werden ls -l
. Einige andere Verzeichnisse im Home-Ordner und anderswo haben ebenfalls ACLs.
Verwenden Sie Folgendes, um die ACLs im Home-Verzeichnis anzuzeigen:
/bin/ls -le ~
Sie werden wahrscheinlich eine Regel wie 0: group:everyone deny delete
für das Musikverzeichnis sehen. Wie Sie bemerkt haben, können Sie das Problem mit überschreiben sudo
. Wenn Sie dies nicht möchten (oder nicht können), haben Sie andere Optionen, da Sie der Eigentümer der Datei sind. Sie können den fehlerhaften Eintrag basierend auf seinem Index aus der ACL des Musikverzeichnisses entfernen (0 in dem oben angegebenen Beispiel):
/bin/chmod -a# 0 Music
Oder Sie können alle Einträge in der ACL entfernen:
/bin/chmod -N Music
Jetzt können Sie das Verzeichnis verschieben (vorbehaltlich der regulären POSIX-Berechtigungen). Wenn Sie die ACL nach dem Verschieben zurücksetzen möchten, können Sie Folgendes verwenden:
/bin/chmod +a "group:everyone deny delete" Music_tmp
Und verwenden Sie /bin/ls -le
erneut, um zu bestätigen, dass die ACL Ihren Wünschen entspricht. man chmod
Weitere Informationen finden Sie in den ACL-Beispielen . Insbesondere ist dieses Intro hilfreich:
Jede Datei verfügt über eine ACL, die eine geordnete Liste von Einträgen enthält. Jeder Eintrag bezieht sich auf einen Benutzer oder eine Gruppe und gewährt oder verweigert eine Reihe von Berechtigungen. In Fällen, in denen ein Benutzer und eine Gruppe mit demselben Namen vorhanden sind, kann dem Benutzer- / Gruppennamen "Benutzer:" oder "Gruppe:" vorangestellt werden, um den Typ des Namens anzugeben.
ACL-Reihenfolge
Ich glaube nicht, dass diese Manpage die Regeln für die Bestellung erklärt , aber diese Seite erklärt die Bestellregeln für ACLs klar. Insbesondere wird eine explizite deny
Regel vor einer expliziten allow
Regel angewendet . Solange der group:everyone deny delete
Eintrag vorhanden ist, kann Ihrem Benutzer keine Berechtigung zum Löschen mit einer allow
Regel erteilt werden . Dies liegt daran, dass der everyone
Gruppe, zu der Sie gehören, die Berechtigung verweigert wird und diese Regel zuerst angewendet wird.