chownコマンドの使い方:ファイルの所有者・所有グループを変更する
chownは、ファイルやディレクトリの所有者と所有グループを変更するコマンドです。サービスのユーザーが読み書きできない、といった権限の問題を解決するときによく使います。変更には通常sudoなどの管理者権限が必要です。
chownのよく使う形
実務や学習で登場しやすい使い方を、そのまま入力できる形でまとめました。
| コマンド例 | 内容 |
|---|---|
sudo chown alice file.txt | 所有者をaliceに変更 |
sudo chown alice:dev file.txt | 所有者をalice、グループをdevに変更 |
sudo chown :dev file.txt | グループだけをdevに変更 |
sudo chown -R www-data:www-data /var/www | ディレクトリ配下をまとめて変更 |
chownの主なオプション
| オプション | 意味 |
|---|---|
| ユーザー名 | |
| ユーザー名:グループ名 の形式で指定 | |
-R | 再帰的に変更 |
-v | 変更内容を表示 |
chownの実行例と結果の読み方
user@linux-study:~$ sudo chown user:developers project/
user@linux-study:~$ ls -ld project
drwxr-xr-x 2 user developers 4096 Jan 10 09:31 project
sudo chown user:developersで、projectディレクトリの所有者をuser、所有グループをdevelopersに変更しています。所有者・グループの変更にはroot権限が必要なため、sudoを付けています。
練習用ターミナルでは、chownをブラウザ上で安全に試せます。
chownを使うときの注意点
-Rは配下のすべてに影響します。パスを間違えて/などに実行するとシステムが壊れるおそれがあるため、実行前に対象のパスをよく確認してください。
「Permission denied」の原因が所有者の違いか、パーミッションの不足かは、ls -lで所有者と権限の両方を見て判断します。
chownに関するよくある質問
一般ユーザーでも使えますか?
一般ユーザーが所有者を他のユーザーに変更することはできません。sudoを付けて実行します。
グループだけ変更するコマンドは?
chgrpもありますが、chown :グループ名でも同じことができます。
関連ページ
chownが登場する章:初級 第6章