web-dev-qa-db-ja.com

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

私はここで同様の質問を見つけましたが、それらの質問に提供された答えは私の問題を解決しません。

私が行った場合:

Sudo chown <username> main.m

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

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

Sudo chflags nouchg main.m

ロックフラグをクリアします。ただし、これを行った後でも、ファイルをchownできません。私も試しました:

chflags noschg main.m

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

誰かが何か考えを持っているなら、私は興味があります。

8
ericg

Macファイルはで保護することができます three私が知っているさまざまな方法:

  1. _ls -l_で表示され、chown(1)およびchmod(1)で修正されるユーザー/グループ/その他のr/w/xなどの標準的なUnixの所有権とアクセス許可。
  2. _ls -lO_で表示され、chflags(1)で修正されるuchgschgなどのファイルフラグ。
  3. _GetFileInfo filename_で表示される古いFinderメタデータ「ロックビット」。 _ls -l@_を使用すると、Finderメタデータの存在を確認できますが、その意味は確認できません。 SetFile(1)で修正できます。気にしないでください。これは現在uchgフラグにマップされています。
  4. _ls -le_で表示されるアクセス制御リスト(ACL)にアクセスし、chmod(1)へのACL関連の引数で修正します。

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

_ls -lO@e main.m
_

#1と#2の扱い方はすでにご存知のようです。

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

それでも困っている場合は、上記で提案したlsコマンドを組み合わせた出力でAnswerを更新して、何が起こっているかを確認できるようにします。

8
Spiff