Próbowałem przenieść kilka plików do podfolderu w systemie OS X. Jeden odmówił przeniesienia. To powiedziało Operation not permitted
. Próbowałem ponownie jako root:
$ sudo mv file subfolder/
mv: rename file to subfolder/file: Operation not permitted
$ sudo mv file filex
mv: rename file to filex: Operation not permitted
$ lsattr file
lsattr: Inappropriate ioctl for device While reading flags on file
Próbowałem lsattr
na innych plikach; wszystkie pliki, które próbowałem, dały mi ten sam komunikat:Inappropriate ioctl for device While reading...
Pochodząc z Linuksa, nie wiedziałem o flagach, więc oto wynik ls -leO@ file
:
$ ls -leO@ file otherfile
-rwxrwxrwx 1 eeytan staff uchg 79549 Nov 11 2010 file
-rw-r--r-- 1 eeytan staff - 5071 Sep 7 02:37 otherfile
Próbowałem OS X Disk Utility; powiedział, że na moim dysku nie było żadnych błędów. Co tu się dzieje?
macos
permission
filesystem
unix
eje211
źródło
źródło
lsattr
nie jest standardową komendą OS X; spróbujls -leO@
zamiast tego. Ponadto na jakim woluminie znajduje się plik? Spróbujmount
sprawdzić, z jakimi atrybutami jest zamontowany wolumin.Odpowiedzi:
Wygląda na to, że plik jest dla mnie zablokowany, dlatego pojawia się atrybut uchg. Powinieneś być w stanie użyć następującego polecenia, aby usunąć zablokowany atrybut:
lub kliknij plik prawym przyciskiem myszy w Finderze, kliknij „Uzyskaj informacje”, a następnie usuń zaznaczenie pola wyboru „Zablokowane”
źródło
Dla ludzi, potykając się na to w OS X 10.11+ era (El Capitan lub nowsze): Apple dodaje całą nową warstwę zabezpieczeń w OS X . Odebrali niektóre uprawnienia z rootowania. Plik, który próbujesz zmodyfikować, ma
restricted
flagę. Tylkorestricted
procesy podpisane przez Apple będą mogły modyfikować te pliki. Można jednak wyłączyć ten system bezpieczeństwa poprzez uruchamianie w trybie awaryjnym i wyłączenie go w Terminalu wykonując:csrutil disable
.Możesz też po prostu uruchomić Terminal w trybie odzyskiwania i usunąć tam plik. Lub nawet spróbuj uruchomić w środowisku Linux z obsługą HFS + (przynajmniej jeśli nie korzystasz jeszcze z APFS), aby zmienić plik.
źródło
Próbować:
w katalogu wyższego poziomu, aby zatrzymać ten problem.
źródło
zsh: locking failed for /Users/me/.zhistory: operation not permitted: reading anyway
i naprawiłem to polecenie w moim katalogu domowymMiałem również ten problem i odkryłem, że folder, w którym znajdował się plik, został zablokowany. Upewnij się więc, że to nieprawda. Wykonaj polecenie „pobierz informacje” o folderze w wyszukiwarce i upewnij się, że zablokowane pole wyboru nie jest zaznaczone.
źródło
Zdaję sobie sprawę, że to bardzo stary temat, ale nie widzę tego wątku dotyczącego mojego objawu, więc pomyślałem, że opublikuję kolejną opinię.
Zdarzyło mi się to z zewnętrznym dyskiem, który działał idealnie na Snow Leopard iMac, który został po drodze uaktualniony do El Capitan. Na początku tego roku wziąłem ten dysk i umieściłem go w nowym pudełku systemu Windows 10 z systemem Paragon HFS dla systemu Windows. I kopiowane setki GB plików OD systemie Windows DO HFS + na tym dysku i podłączeniu go do komputera iMac. Wszystko działało dobrze, z wyjątkiem jednego skryptu powłoki, który miałem, że pliki tymczasowe do tworzenia kopii zapasowych napotkały ten problem uchg.
W skrócie: pliki i foldery utworzone w systemie El Capitan lub Windows 10 przy użyciu Paragon HFS, po przeniesieniu z powrotem do pola Snow Leopard, „zablokowane” pole radiowe NIE zostanie zaznaczone po wybraniu
Get Info
w Finderze. Jednak sugestie innych działały dla mnie dobrze:ls -leO@
(to duża litera) w podejrzanym plikuchflags -R nouchg
w katalogu nadrzędnym (nie ma opcji -f w systemie Snow Leopard)Będzie działać, po prostu nie oczekuj takich samych wizualnych wskazówek, jeśli twój dysk przeszedł między systemami operacyjnymi lub jeśli używasz Paragon HFS.
źródło
Miałem plik, którego nie mogłem usunąć w terminalu:
Dla mnie zadziałało otwarcie Findera i usunięcie całego katalogu zawierającego. W moim rozumieniu Finder usuwa katalogi jako całość całkowicie ignorując ich zawartość, więc nie podlega takim samym ograniczeniom jak zwykłe
rm -rf
.źródło