私のMac(10.6.7)で以下をやろうとしている。
Sudo chown myusername:wheel ./entries
しかしUnix/Macは "Operation not allowed"を返しています。原因ファイルをls -lash
すると、次のようになります。
8 -rwxrwxrwx 1 myusername staff 394B Apr 26 23:26 entries
私はSudo
とSudo su
を試しました。何も動作しません。どんなアイデアがありますか?
古いUbuntuボックスからコピーしたファイルをchmod
にしようとしています。ほとんどのファイルは再帰的にchmod
'されています。これだけが動けなくなってしまい、その理由はわかりません。
多くの苦労の末、問題を解決するために私がしなければならなかったことがあります。
~/Desktop
に移動しましたSudo chown myusername:staff ./entries
Sudo rm ./entries
Sudo mv ~/Desktop/entries ./entries
はい、Macにはファイルの分野でUnixに対する多くの機能強化があります。全体を無視 resource fork もうあまり使用されていないものには、次のものがあります。
ugo
rwx
など。通常のUnixツールが適用されます。ls -le
で表示可能、chmod [ -a | +a | =a ]
で変更可能。ls -lO
(ゼロではなく大文字)で表示可能で、chflags
で変更可能。ls -l@
(属性キーのみ)で表示可能、xattr
で表示および変更可能。 (xattr -h
で何も得られない場合は、man xattr
を使用してください。)Sudo
を使用してroot
として実行する場合でも。 SIPで保護されたファイルは、ls -lO
でrestricted
フラグを持つものとしてリストされ、および/またはls -l@
でcom.Apple.rootless
属性を持つものとしてリストされます。Unixの許可、ACL、ファイルフラグ、またはSIPにより、ファイルに対する操作が拒否される場合があります。ファイルを完全にロック解除するには:
Sudo chmod -N file # Remove ACLs from file
Sudo chmod ugo+rw file # Give everyone read-write permission to file
Sudo chflags nouchg file # Clear the user immutable flag from file
Sudo chflags norestricted file # Remove the SIP protection from file
Sudo xattr -d com.Apple.rootless file # Remove SIP protection from file
システム整合性保護(SIP)が有効になっている場合、Sudo chflags norestricted
およびSudo xattr -d com.Apple.rootless
も「Operation not allowed」エラーを返します。フラグや属性をクリアするには、 macOS Recovery で起動し、ターミナルからコマンドを実行する必要があります(最初にディスクユーティリティを使用して起動ドライブのロックを解除してマウントし、ファイルを記憶する必要があります/Volumes/Macintosh HD
または起動ドライブの名前の下)または SIPを完全に無効にする になり、再起動するとコマンドが機能します。ただし、今後のOS更新により、restricted
フラグとcom.Apple.rootless
属性が削除されたファイルに復元される可能性があることに注意してください。
SIPを無効にすることは推奨されませんマルウェアに対する多くの保護を削除し、偶発的な損傷に加えて、ファイルごとに保護を簡単に削除できる場合は必要ありません。 SIPを無効にした場合は、変更が完了したら再度有効にします。
ls -lO
がschg
フラグが設定されていることを示している場合、それを解除するにはシングルユーザーモードにする必要があることに注意してください。ファイルにそのフラグが設定されている理由と、なぜそれを混乱させようとしているのか、結果はどうなるのかについてのより大きな質問があるので、ここでは説明しません。
私は同じ問題を抱えていました。問題のファイルはOSによって "Locked"としてマークされています。私はこの解決策を見つけ、それは数秒で問題を解決しました:
http://explanatorygap.net/2005/07/10/unlocking-files-recursively-from-the-command-line/
Tigerで
rm
コマンドが変更されたため、昇格した特権でrm -Rf
を使用すると、自動的にファイルのロックが解除されます。
Tigerより前のOS Xでは:find /Volumes/Transit -flags +uchg -print0 | xargs -0 chflags nouchg
Tiger以降のOS Xでは:Sudo rm -Rf foldername/
また、OS X 10.4以降でも、uchg
やuappnd
などのファイルメタデータフラグが存在する可能性があります。これにより、ファイルのアクセス権や所有権の変更を防ぐことができます。 chflags
はフラグを削除することができます。ファイルの属性/メタデータと、それらがさまざまなコピーツールによってどのように処理されるかは、ここで です 。
Crashplan.appでも同じ問題がありました。
ここにリストされたすべての解決策は私を助けないでしょう、しかしこれはトリックをしました: http://forums.macrumors.com/showthread.php?t=1546163
システムとユーザの不変フラグを変更する必要があります。
これを実行して、ファイル/フォルダでどのフラグがアクティブになっているかを確認します。
ls -lhdO MyFile
応答は次のようになります。
drwxrwxr-x 3 root admin schg,uchg 102B Apr 8 2013 MyFile
schg、uchgは、これらの不変フラグです。 1つはシステム用、もう1つはユーザー用です。それらを削除するには、以下行います。
chflags noschg CrashPlan.app # this removes system immutable flag
chflags nouchg CrashPlan.app # this removes the user immutable flags
それから、少なくとも私にとっては、ファイルのロックが解除されているので削除できます。
私のホームフォルダについても同じ問題がありました。最後に私はこのようにFinderを使いました。
移動 - >コンピュータ - >あなたのディスク - >ユーザー - >あなたのユーザー名 - >右クリック - >情報を見る
私はそれがロックされていたことに気づいた、おそらく私は過去にそれをやったのを忘れていた。ロックされたチェックボックスのチェックを外し、問題を修正しました。
このような問題に対処するには、Finderの「情報を見る」を使用することをお勧めします。
(OS X 10.8.3)
ファイルとその親フォルダの両方がロック解除されていることを確認してください。
Mac Mailの電子メール署名ファイルを削除しようとしたときにも、私は同様の問題に直面していました。ファイルとその親フォルダのロックを解除するまで削除できませんでした。