OS X'te dosya kök tarafından taşınamıyor


53

Birkaç dosyayı OS X'teki bir alt klasöre taşımaya çalıştım. Dedi Operation not permitted. Yine root olarak denedim:

$ 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

lsattrBaşka dosyalar üzerinde denedim ; denediğim tüm dosyalar bana aynı mesajı verdi:Inappropriate ioctl for device While reading...

Ben işte bayraklar hakkında bilmiyordum, Linux geliyor çıkışı olan 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

OS X Disk Yardımcı Programını denedim; diskimde hata olmadığını söyledi. Burada neler oluyor?


1
lsattrstandart bir OS X komutu değil; ls -leO@bunun yerine deneyin . Ayrıca, dosya hangi birimde? mountBirimin hangi özelliklere sahip olduğunu görmeye çalışın .
Gordon Davisson

1
@ GordonDavisson, doğru yoldasın. ls -leo @, bana "değiştirilemez" gibi görünen "uchg" niteliğine sahip tek dosya olduğunu söylüyor.
eje211

Farklı sormaya hoş geldiniz! Düzenlemeleri kaldıracağım ve bunu bir soru haline
getirip

Yanıtlar:


30

Dosya bana kilitlenmiş gibi geliyor, bu yüzden uchg niteliği beliriyor. Kilitli özniteliği kaldırmak için aşağıdaki komutu kullanabilmelisiniz:

chflags nouchg file

veya Finder'da dosyayı sağ tıklayın, "Bilgi Al" ı tıklayın ve ardından "Kilitli" onay kutusunun işaretini kaldırın.


1
Ha! Sanırım bu soruyu gönderiyorum gibi kendi sorunuza cevap verdiniz!
binarybob

84

OS X 10.11+ döneminde (El Capitan veya daha yenisi) buna tökezleyen insanlar için: Apple, OS X'te yepyeni bir güvenlik katmanı ekledi . Bazı ayrıcalıkları kökten uzaklaştırdılar. Değiştirmeye çalıştığınız dosyanın bir restrictedbayrağı var. Yalnızca restrictedApple tarafından imzalanan işlemler bu dosyaları değiştirebilir. Ancak, kurtarma modunda önyükleme yaparak ve aşağıdakileri yaparak Terminal'de devre dışı bırakarak bu güvenlik sistemini devre dışı bırakabilirsiniz csrutil disable.

Alternatif olarak, sadece Kurtarma Modunda Terminal'i başlatabilir ve oradaki dosyayı silebilirsiniz. Veya dosyayı değiştirmek için HFS + desteğiyle (en azından henüz APFS'de değilseniz) bir Linux ortamında önyüklemeyi deneyin.


1
Csrutil'deki csr ne anlama geliyor?
Michael Terry

12
Sanırım "Güvenlikten ayrılma konusunda hiçbir şekilde fedakarlıkta bulunmayanlar" diyen Benjamin Franklin. Ya da başka birşey.
dgig

5

Deneyin:

chflags -f -R nouchg directory

Bu sorunu durdurmak için daha yüksek bir dizinde.


FWIW: Bu sorunu yaşadım zsh: locking failed for /Users/me/.zhistory: operation not permitted: reading anywayve bu komutu ana
dizimde

0

Bu sorunu da yaşadım ve dosyanın bulunduğu klasörün kilitli olduğunu keşfettim. Bu yüzden doğru olmadığından emin ol. Bulucudaki klasörde 'bilgi al' seçeneğini işaretleyin ve kilitli onay kutusunun işaretli olmadığından emin olun.


0

Bunun çok eski bir konu olduğunun farkındayım, ancak bu konuyu semptomuma hitap ederken göremiyorum, bu yüzden başka bir fikir yayınlayabileceğimi düşündüm.

Bu, yol boyunca El Capitan'a yükselen bir Snow Leopard iMac'de mükemmel çalışan harici bir sürücüye oldu. Bu yılın başlarında, bu sürücüyü alıp Windows için Paragon HFS çalıştıran yeni bir Windows 10 kutusuna koydum. Ben dosyaların GB yüzlerce kopyalanan DAN Windows'un İÇİN o sürücüde HFS + ve geri iMac içine takılı. Her şey yolunda gitti, bir yedekleme komut dosyası hazırladığım bir kabuk betiği dışında bu uchg sorunuyla karşılaştı.

Kısacası: Paragon HFS kullanılarak El Capitan veya Windows 10 altında oluşturulan dosyalar ve klasörler, bir Snow Leopard kutusuna geri taşındığında Get Info, Finder'da seçtiğinizde "kilitli" radyo kutusu kontrol edilmeyecektir . Ancak, başkalarının önerileri benim için iyi çalıştı:

  • ls -leO@Şüpheli bir dosyada (bu, büyük bir oh) çalıştırarak sorunun bu olduğunu doğrulayın.
  • root chflags -R nouchgolarak, ana dizinde koş (Snow Leopard'da -f yok)

Çalışacaktır, sürücünüz işletim sistemleri arasında gidip geldiyse veya Paragon HFS kullanıyorsanız, aynı görsel ipuçlarını beklemeyin.


chflags -f -R nouchg dizini teşekkürler çalışıyor
odjeezeus

0

Terminalde silemediğim bir dosya vardı:

$ sudo ls -leO@ foo@example.com/Documents/.%cb_defense/cb.doc
-rw-rw-rw-  1 root  wheel  - 41984  1 Mar 11:20 foo@example.com/Documents/.%cb_defense/cb.doc

$ sudo rm -rf foo@example.com/Documents/.%cb_defense/cb.doc
rm: foo@example.com/Documents/.%cb_defense/cb.doc: Operation not permitted

Benim için işe yarayan şey Finder'ı açmak ve içerdiği dizini bütünü silmek oldu. Anladığım kadarıyla, Finder, içeriklerini tamamen göz ardı eden bir birim olarak dizinleri siler, bu nedenle normal olarak aynı kısıtlamalara tabi değildir rm -rf.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.