chown (Change Owner)とは?

カテゴリ: コマンドラインツール

chown(チェンジオーナー)は、ファイルやディレクトリの「所有者(Owner)」および「所属グループ(Group)」を変更するコマンドです。システムの管理者権限(root)が必要な操作の代表格であり、サーバー構築において頻繁に使用されます。

基本的な使い方

構文は `chown [ユーザー名]:[グループ名] [ファイルパス]` です。

  • `sudo chown nginx /var/www/html/index.html`: ファイルの所有者を `nginx` ユーザーに変更します。
  • `sudo chown ubuntu:developers app.py`: ファイルの所有者を `ubuntu` に、グループを `developers` に変更します。
  • `sudo chown :admin file.txt`: 所有者はそのままで、グループだけを `admin` に変更します(`chgrp` コマンドと同義)。

ディレクトリの再帰的変更(-R オプション)

ディレクトリの中にあるすべてのファイルとサブディレクトリの権限を一括で変更するには、`-R`(Recursive)オプションを使用します。
例: `sudo chown -R www-data:www-data /var/www/html/`
WordPressなどのCMSをインストールした直後、Webサーバーが書き込みできるようにするために、このコマンドを打つことがよくあります。

AI開発でのユースケース

複数人が利用する共有GPUサーバーなどでAIモデルを開発する場合、ファイルの所有権問題がよく発生します。
例えば、あるユーザーがデータをアップロードした後、別のユーザーがそのデータを加工するスクリプトを実行しようとすると「Permission denied」が出るケースです。このような場合、共有データの所有者を全員が所属するグループ(例: `students` や `ai-team`)に変更し、`chmod` でグループ書き込み権限を与える運用が一般的です。

よくあるトラブル:Operation not permitted

`chown` は強力なコマンドであるため、基本的に一般ユーザーは実行できません。自分の所有するファイルであっても、それを「他人の所有」に変更することは(セキュリティ上の理由からLinuxでは)許可されていません。必ず `sudo` を付けてroot権限で実行するか、rootユーザーとしてログインする必要があります。