自分のMacには外付けのHDDを一台繋いでいるのですが、当初からディスクやディレクトリ、ファイルの所有権が全て<username>:staffになっており、いくらroot権限でchownを実行しても、エラーが全く出ないにも関わらず所有権の変更が反映されませんでした。ローカルで使用する分には自分のアクセス権さえ確保されていれば問題は少ないのですが、rsyncでlinuxサーバにバックアップする際にパーミッションが上書きされてしまい非常に困っていました。
これはどうしたらいいのか色々調べてみたのですが、割と簡単に修正できることがわかりました。
まず、外付けHDDを選択して⌘+Iを実行します(または右クリックで「情報を見る」を選択)。するとディスクの情報ダイアログが表示されます。まずダイアログの一番右下にある鍵のマークをクリックします。すると自分のパスワードの入力を促されるので、入力してロックを解除します。
次に画面の左下に「☑️このボリューム状の所有権を無視」というチェックボックスがあるので、ここのチェックを外します。
ここでダイアログを閉じますが、ボリュームの所有権がroot:wheelになってしまうので、そのままでは全くディスクにアクセスできなくなってしまいます。そこでターミナルを開き、Macのディスクマウントポイント “/Volumes”に移動します。
$ cd /Volumes
/Volumes ディレクトリでlsコマンドを打つとマウントされたディスクの一覧が表示されます。
ここで、先ほど「所有権の無視」のチェックボックスを外した外付けHDDを見つけます。次に以下のコマンドを打ちます。
$ sudo chown -R <あなたのユーザーネーム>:staff <外付けHDDの名前>
ユーザーネームがtaro、HDDのマウント名がexternalHDDなら
sudo chown -R taro:staff externalHDD
と打ちます。パスワードを求めてきますのであなたの管理者としてのパスワードを入力してください。
以上で外付けHDDの所有権の変更ができました。このあと下位ディレクトリの所有権、アクセス権はお好きなようにchown、chmodコマンドで設定してください。
拝見しました。
コマンドにchownというものが存在していないようです。
binフォルダー内にもその名前がありません。
勘違いでしょうか。
macには標準でchownコマンドが備わっています。通常は
/usr/sbin ディレクトリに存在します。
また、sudo コマンドにより管理者権限で実行しないと所有権の変更はできません。
Mac公式、海外の掲示板をいろいろ調べて分からず、最終的にここに辿り着いて解決しました。ありがとうございました。