
新Linux入門|Linuxで所有者とグループを変更!chownコマンドの使い方
Linuxシステムでは、すべてのファイルやディレクトリに「所有者(User)」と「グループ(Group)」が存在します。
これらを変更したいときに使うのが、chown(CHange OWNer)コマンドです。
ファイルの管理を正しく行うためには、誰がそのファイルを操作できるのかを明確にしておくことがとても重要です。
このページでは、AlmaLinux 9.6 を使って、chownコマンドの使い方をわかりやすく説明します。

📘 chownコマンドとは?
chownコマンドは、指定したファイルやディレクトリの所有者および所有グループを変更するためのコマンドです。
システム管理者(root)や、sudo権限を持つユーザーが実行できます。
コマンド書式
chown [オプション] 新しい所有者[:新しい所有グループ] ファイルまたはディレクトリ| 項目 | 説明 |
|---|---|
| 新しい所有者 | ファイルやディレクトリの所有者を指定 |
| 新しい所有グループ | 所有グループを指定(コロン : で区切る) |
| ファイル/ディレクトリ | 変更対象となるファイルまたはディレクトリ |
💡 グループを省略すると所有者のみが変更されます。
逆に「:グループ名」とだけ指定すると、所有者は変えずにグループだけを変更できます。
⚙️ chownコマンドの主なオプション
| オプション | 説明 |
|---|---|
| -c | 変更が行われた場合にメッセージを表示 |
| -h | シンボリックリンクの所有者を変更 |
| -R | ディレクトリを再帰的に変更 |
| -f | エラーメッセージを表示しない |
| -v | 実行状況を詳細に表示 |
💡 ポイント
chownは、権限を持つユーザーしか実行できません。通常のユーザーが自分以外の所有者に変更することはできません。
🧠 所有者とグループの関係をおさらい
Linuxでは、ファイルには次の3つの権限カテゴリが存在します。
| 区分 | 説明 | 例 |
|---|---|---|
| 所有者(User) | ファイルを作成したユーザー | suzuki |
| グループ(Group) | ファイルが所属するグループ | sales |
| その他(Others) | 上記以外のすべてのユーザー | - |
これらの関係に基づいて、chown で権限を適切に設定することで、セキュリティと利便性を両立できます。
🖋️ chownコマンドの使用例と解説
① 所有者を変更する
ファイル file1 の所有者を tanaka に変更します。
[root@AlmaLinux ~]# chown tanaka file1このコマンドでは、グループは変更せず、所有者のみを tanaka に変更します。
実行後に ls -l で確認すると、所有者が更新されているのがわかります。
出力例
[root@AlmaLinux ~]# ls -l file1
-rw-r--r-- 1 tanaka sales 1024 Oct 28 21:30 file1② 所有者とグループを同時に変更する
ファイル file2 の所有者を yamamoto、グループを sales に変更します。
[root@AlmaLinux ~]# chown yamamoto:sales file2出力例
[root@AlmaLinux ~]# ls -l file2
-rw-r--r-- 1 yamamoto sales 2048 Oct 28 21:45 file2💡 コロン( : )の前にユーザー名、後にグループ名を指定します。
スペースを入れないよう注意してください。
③ シンボリックリンクの所有者を変更する
-h オプションを使うと、リンク先ではなくリンク自体の所有者を変更できます。
[root@AlmaLinux ~]# chown -h watanabe symlink1④ ディレクトリを再帰的に変更する
ディレクトリ project 以下にあるすべてのファイルやサブディレクトリの所有者を suzuki、グループを sales に変更します。
[root@AlmaLinux ~]# chown -R suzuki:sales project出力例
report.txt
subdir/
subdir/data.txt→ これらすべての所有者とグループが suzuki:sales に変更されます。
💡 「-R」オプションは、ディレクトリ配下のすべてに変更を適用したいときに便利です。
⑤ 変更があったときにメッセージを表示する(-c)
変更内容を確認したい場合は、-c オプションを使います。
[root@AlmaLinux ~]# chown -c suzuki:sales file3
所有者 'root' -> 'suzuki'、グループ 'root' -> 'sales'⑥ エラーメッセージを表示しない(-f)
エラーが出ても静かに処理を続けたいときは -f オプションを使います。
[root@AlmaLinux ~]# chown -f tanaka:sales file1この場合、ファイルが存在しなくてもエラーメッセージは表示されません。
⑦ 実行状況を詳細に表示する(-v)
変更結果を詳細に表示したいときに使います。
[root@AlmaLinux ~]# chown -v yamamoto:sales file2
所有者 'suzuki' -> 'yamamoto'、グループ 'sales' のまま💡 -v はスクリプトのデバッグや、変更確認にとても役立ちます。
📊 chownコマンドのオプションまとめ
| オプション | 意味 | 使用例 |
|---|---|---|
| -c | 変更された場合にメッセージを表示 | chown -c suzuki:sales file1 |
| -h | シンボリックリンク自体を変更 | chown -h tanaka link1 |
| -R | ディレクトリを再帰的に変更 | chown -R suzuki:sales /data |
| -f | エラーを表示しない | chown -f suzuki file1 |
| -v | 実行状況を表示 | chown -v suzuki file1 |
✅ まとめ
| 操作内容 | コマンド例 | 効果 |
|---|---|---|
| 所有者の変更 | chown suzuki file1 | 所有者を suzuki に変更 |
| 所有者とグループの変更 | chown suzuki:sales file2 | 所有者とグループを同時に変更 |
| ディレクトリ全体の変更 | chown -R suzuki:sales project | 配下のすべてを再帰的に変更 |
| 変更を確認 | chown -v suzuki:sales file3 | 実行結果を表示 |
chown コマンドは、ファイルの所有者やグループを柔軟に変更できる強力なツールです。
システム管理やチーム作業の際に欠かせないコマンドなので、ぜひ実際に試してみてください。
