Ich versuche auf meinem Mac (10.6.7) Folgendes zu tun:
sudo chown myusername:wheel ./entries
aber Unix / Mac gibt "Operation not allowed" zurück. Wenn ich ls -lash
die Täterakte habe, sieht es so aus:
8 -rwxrwxrwx 1 myusername staff 394B Apr 26 23:26 entries
Ich habe es versucht sudo
und sudo su
; nichts funktioniert. Irgendwelche Ideen, was ist los?
Ich versuche, chmod
Dateien zu kopieren, die ich von meiner alten Ubuntu-Box kopiert habe. Die meisten Dateien wurden erfolgreich chmod
rekursiv bearbeitet. nur dieser steckt fest und ich verstehe nicht warum.
macos
file-permissions
josef.van.niekerk
quelle
quelle
sudo chgrp wheel ./entries
?Antworten:
Ja, Mac hat viele Verbesserungen an Unix im Bereich der Dateien. Wenn man die ganze Ressourcengabel ignoriert , die nicht mehr viel benutzt wird, gibt es:
ugo
rwx
und so weiter. Es gelten die normalen Unix-Tools.ls -le
und änderbar mitchmod [ -a | +a | =a ]
.ls -lO
(Capital oh, not zero) und änderbar mitchflags
.ls -l@
(nur Attributschlüssel) und sichtbar und änderbar mitxattr
. (Verwenden Siexattr -h
für Hilfe, wennman xattr
Sie nichts gibt.)sudo
als ausgeführt werdenroot
. Durch SIP geschützte Dateien werdenls -lO
mit demrestricted
Flag und / oderls -l@
mit demcom.apple.rootless
Attribut aufgelistet .Aufgrund von Unix-Berechtigungen, ACLs, Dateiflaggen oder SIP können Ihnen Vorgänge für eine Datei verweigert werden. So entsperren Sie eine Datei vollständig:
Wenn der Systemintegritätsschutz (SIP) aktiviert ist
sudo chflags norestricted
undsudo xattr -d com.apple.rootless
außerdem den Fehler "Vorgang nicht zulässig" zurückgibt. Um das Flag und / oder Attribut zu löschen, müssen Sie in macOS Recovery booten und entweder die Befehle vom Terminal ausführen (möglicherweise müssen Sie zuerst das Festplatten-Dienstprogramm verwenden, um das Boot-Laufwerk zu entsperren und bereitzustellen, und sich dann daran erinnern, dass sich Ihre Dateien unter/Volumes/Macintosh HD
oder unter welchem Boot befinden Laufwerk ist benannt) oder SIP ganz deaktivieren und dann neu starten und die Befehle sollten dann funktionieren. Beachten Sie jedoch, dass zukünftige Betriebssystemaktualisierungen wahrscheinlich dasrestricted
Flag und dascom.apple.rootless
Attribut für alle Dateien wiederherstellen , aus denen Sie es entfernt haben.Das Deaktivieren von SIP wird nicht empfohlen, da es viel Schutz vor Malware und versehentlichem Schaden entfernt. Außerdem ist es nicht erforderlich, wenn Sie den Schutz einfach auf Dateibasis entfernen können. Wenn Sie SIP deaktivieren, aktivieren Sie es erneut, wenn Sie die gewünschten Änderungen vorgenommen haben.
Beachten Sie, dass Sie, wenn angezeigt wird, dass
ls -lO
dasschg
Flag gesetzt ist, in den Einzelbenutzermodus wechseln müssen, um es zu deaktivieren. Ich werde hier nicht darauf eingehen, da es größere Fragen gibt, warum die Datei dieses Flag gesetzt hat und warum Sie versuchen, sich damit herumzuschlagen und was die Konsequenzen sein werden.quelle
sudo chflags -R nouchg,noschg,nouappnd,nosappnd,noopaque,dump .
-N
undugo+rw
beides nicht gleichzeitig machen (ich bekam esFailed to clear ACL on file ugo+rw: No such file or directory
), aber es funktionierte gut, wenn ich sie einzeln laufen ließ. Wenn rekursiv gewünscht wird,-R
muss das erste Argument sein.Cmd-R
), öffnen Sie das Terminal und starten Sie escsrutil disable
neu (verwenden Sie zum erneuten Aktivierencsrutil enable
).override rwxrwxrwx huttarl/staff uchg for green.html?
Ich hatte das gleiche problem Es stellt sich heraus, dass die betroffenen Dateien vom Betriebssystem als "Gesperrt" markiert wurden. Ich habe diese Lösung gefunden und sie hat die Probleme in Sekunden gelöst:
http://explanatorygap.net/2005/07/10/unlocking-files-recursively-from-the-command-line/
In OS X vor Tiger:
find /Volumes/Transit -flags +uchg -print0 | xargs -0 chflags nouchg
In OS X nach Tiger:
sudo rm -Rf foldername/
Auch nach OS X 10.4 kann es Dateimetadaten-Flags wie
uchg
und gebenuappnd
, die eine Änderung der Dateiberechtigungen oder des Eigentums verhindern.chflags
kann die Fahnen entfernen. Einige der Dateiattribute / Metadaten und wie sie von verschiedenen Kopierwerkzeugen verarbeitet werden, finden Sie hier .quelle
sudo rm -Rf foldername/
arbeitet perfekt an OSX Mountain Lionrm
löscht das Verzeichnis. Gibt es eine Möglichkeit, alles freizuschalten, ohne es zu löschen? Wenn ich guckeuchg
ist nicht festgelegt, und ich kann es wie erwartet ein- und wieder ausschalten (mitchflags [no]uchg
), aber das hat keinen Einfluss auf das Schlosssymbol im Finder oder auf meine Fähigkeit dazuchown
.Ich hatte das gleiche Problem mit der Crashplan.app.
Alle hier aufgelisteten Lösungen würden mir nicht helfen, aber dieser hat den Trick gemacht: http://forums.macrumors.com/showthread.php?t=1546163
Sie müssen die system- und benutzerunabhängigen Flags ändern:
Gehen Sie folgendermaßen vor, um festzustellen, welche Flags in Ihrer Datei / Ihrem Ordner aktiv sind:
Die Antwort könnte folgendermaßen aussehen:
schg , uchg sind diese unveränderlichen Flags. Eine für das System und eine für den Benutzer. Gehen Sie folgendermaßen vor, um sie zu entfernen:
Dann ist zumindest für mich die Datei freigeschaltet und Sie können sie löschen!
quelle
chflags
mitsudo
zwar, aber es macht Sinndrwxrwxr-x@ 3 _BGMXPCHelper admin schg 96B 9 Jan 2018 CrashPlan.app
) und dies war die einzige Lösung, die mir erlaubte, es zu löschen, danke!In OS X 10.11 (El Capitan) kann dies auch durch die neue Rootless- Funktion verursacht werden. In dieser Antwort finden Sie eine Erklärung.
Kurz gesagt, für einige wichtige Verzeichnisse, gibt es keine Möglichkeit , sie zu ändern - egal ob Sie verwenden
sudo
,chown
oderchmod
. Dies wirkt sich auf das/usr
Verzeichnis aus (obwohl Sie Änderungen vornehmen dürfen/usr/local
).Um ein durch Rootless geschütztes Verzeichnis zu ändern, müssen Sie Rootless deaktivieren . Und natürlich können Sie es wieder aktivieren, nachdem Sie Ihre Änderungen vorgenommen haben, da es eine wichtige Sicherheitsverbesserung darstellt.
quelle
Nach vielen Kämpfen musste ich Folgendes tun, um das Problem zu beheben:
~/Desktop
sudo chown myusername:staff ./entries
sudo rm ./entries
sudo mv ~/Desktop/entries ./entries
quelle
Ich hatte das gleiche Problem mit meinem privaten Ordner. Am Ende habe ich den Finder so benutzt:
Gehen Sie zu -> Computer -> Ihre Festplatte -> Benutzer -> Ihr Benutzername -> Rechtsklick -> Informationen abrufen
Ich fand, dass es verschlossen war, wahrscheinlich habe ich es in der Vergangenheit getan und vergessen. Deaktiviert das gesperrte Kontrollkästchen, Problem behoben.
Ich kann die Verwendung von "Get Info" vom Finder empfehlen, um diese Art von Problemen anzugehen.
(OS X 10.8.3)
quelle
.iso
fehlerhafte Virtual Box freizuschalten .Stellen Sie sicher, dass sowohl die Datei als auch der übergeordnete Ordner entsperrt sind
Beim Versuch, eine Mac Mail-E-Mail-Signaturdatei zu löschen, trat ein ähnliches Problem auf. Ich konnte es nicht löschen, bis ich die Datei sowie den übergeordneten Ordner entsperrt hatte.
quelle