新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 コマンドは、ファイルの所有者やグループを柔軟に変更できる強力なツールです。
 システム管理やチーム作業の際に欠かせないコマンドなので、ぜひ実際に試してみてください。