macOS で chown を実行しても無視されるとき

ターミナル

macOS のターミナルアプリから chown コマンドを実行してもファイルの所有者が変わらないことがあったので、その原因を探してみました。


macOS のターミナルを使ってファイルの所有者を変更しようと思ったときに、思いがけずにうまくいかないことがありました。

たとえば test.txt というファイルがあったとして、この所有者を root に変更したいときには、普通であれば次のコマンドを実行すれば変更できます。

sudo chown root test.txt

所有権が変更されない

ところがこれを実行しても、ファイルの所有権が変更されないことがありました。先ほどのコマンドを実行しても ls -l で確認してみると、所有者が自分のままになっています。

ただこれは、全ての macOS で所有権の変更ができないわけではなくて、別の Mac では問題なく所有者を変更できる様子でした。

所有権を無視させない

所有権を変更できない原因は、そのディレクトリーが Thunderbolt 接続などの外付けディスクに存在するためのようでした。

ディレクトリーがあるボリュームの情報を見てみると、その 共有とアクセス権 のところのいちばん下に このボリューム上の所有権を無視 というチェック項目があります。

ここにチェックが入っていると chown コマンドで所有権を変更しようとしても無視されてしまう様子でした。