sudo chown は操作が許可されていないため失敗します

sudo chown は操作が許可されていないため失敗します

ここで同様の質問を見つけましたが、それらの質問に対する回答では問題は解決されません。

私が行った場合:

sudo chown <username> main.m

操作が許可されていないというエラーが発生します。

以前のエラーに対する一般的な解決策は次のとおりです。

sudo chflags nouchg main.m

ロックフラグをクリアします。しかし、これを実行した後でも、ファイルを chown できません。また、次のことも試しました。

chflags noschg main.m

シングル ユーザー モードでは運が悪く、操作が許可されていないというエラーが発生します。

誰か何かご意見があれば、ぜひ聞かせてください。

答え1

Macのファイルは4つの方法で保護できます 三つ私が知っているさまざまな方法:

  1. で確認でき、およびls -lで修正できる、ユーザー/グループ/その他に対する r/w/x などの標準的な Unix 所有権と権限。chown(1)chmod(1)
  2. や のようなファイル フラグはuchgschgで表示されls -lO、 で修正されますchflags(1)
  3. で表示される古い Finder メタデータ「ロック ビット」GetFileInfo filename。 また、 では Finder メタデータの存在は確認できますが、その意味はわかりませんls -l@。 で修正できますSetFile(1) 心配しないでください。これは現在フラグにマッピングされていますuchg
  4. で確認できるアクセス制御リスト (ACL)ls -leを、ACL 関連の引数で修正しますchmod(1)

それでは、これらのフラグをすべて組み合わせて、ファイルに何が起こっているか確認してみましょうls

ls -lO@e main.m

すでに 1 番目と 2 番目の対処方法をご存知のようですね。

ACL (#4) が表示された場合は、 の ACL 関連の引数を使用して修正できますchmod(1)

それでもまだ困惑している場合は、上で提案した複合コマンドの出力を回答に含めて更新してください。lsそうすれば、何が起こっているのかがわかります。

関連情報