web-dev-qa-db-ja.com

ディレクトリの所有者を変更する方法

[〜#〜] edit [〜#〜]:問題は、Appleがbackupsおよびそれらを変更できないようにします(おそらくセキュリティ機能です)。chmod -RN <dir>を使用して、重要なデータを含むすべてのフォルダからACLデータを削除しました。これにより、自分を所有者にして適切な権限。

元の質問
非常に大きなバックアップ(> 700GB)があり、誤った権限(クリーンインストール中にUIDが変更された、長いストーリー)があり、それらを変更する必要があります。時間のかかるオプションは、各フォルダーを手動で調べてアクセス許可を変更することですが、これには時間がかかります。

chownを使用して自分をすべての重要なデータの所有者にしてから、それらすべてのフォルダでchmod 700を使用してrwx権限を自分だけに付与したい。

理想的な解決策は、findを使用して正規表現に一致するフォルダーを再帰的に検索し(現在のフォルダーは.*/[DCV].*|Pictures|M[ou].*)、自分のUIDを所有者にしてアクセス許可を700に設定する方法です。

私が理解できない重要なビット:
ただし、chown Me DirectoryNameを実行しようとすると、chown: DirectoryName: Operation not permittedが表示されます。

私が見つけるすべては、ディレクトリではなくファイルのアクセス権の変更に関連しています。多分私はこれを間違った方法で見ていますか?
何かが私のUID rwx---を他のすべての人に与える方法がないことを教えてくれます。

どうすればこれを達成できますか? Mac OS X 10.10.3を実行しています。

私はこれがUNIX/Linuxフォーラムであることを知っています(そして私はMacを実行しています)が、この質問は、シェル、chownchmod、およびアクセス許可と投稿されたソリューションの使用についてより多くのことですここでは、任意のUNIXベースのOSに適用されます。投稿されたソリューションにより、古いバックアップがTime Machineに再表示されるようにすることが望ましいでしょう。

すぐに返信してくれたすべての人に感謝しますが、chownは、何らかの理由でディレクトリで動作しないようです。これがネットワークドライブ上の.sparsebundleディスクイメージであるという事実は関係がありますか?外付けドライブと同じだと思いました。

15
Arc676

誤解したかもしれません。しかし、chmodやchownを再帰的に使用できます。

chown -R username:username /path/directory

パーミッション700を再帰的に適用するには、以下を使用できます。

chmod -r 700 /path/directory

もちろん、上記はLinuxのものなので、mac osxが同じかどうかはわかりません。

編集:申し訳ありませんが、何かをchownするためにrootになる必要があることを言及するのを忘れました、私はあなたがこれを知っていると思いました...私の悪いです。

23
dakka

試すルートとして

 find wherever -type d -name ... -exec chown Me {} \;

どこ

  • -type dディレクトリのみに適用
  • -name ...正規表現
  • -exec chown Me {} \;検索ディレクトリでchownを使用します。

チャウンするにはルートでなければなりません。

2
Archemar