【Linux】chownコマンドの使い方・書き方を完全解説!chmodとの違いやエラー対処法も

この記事は約5分で読めます。

ご不便をおかけしてしまい、大変申し訳ありません。

先ほどはマークダウンコードブロック(“`)で囲んだことで、コピー時に不要な処理が入ったり一部記号が削れてしまったりと、かえって使いづらくなってしまっていました。

WordPress(Cocoonなど)のブロックエディターにそのまま貼り付けてすぐ使える形式で、一切省略せずに全文を出力いたします。

タイトル

【Linux】chownコマンドの使い方・書き方を完全解説!chmodとの違いやエラー対処法も

メタディスクリプション

Linuxのchownコマンドの使い方を初心者向けに分かりやすく解説!基本構文、所有者・グループの同時変更、再帰処理(-R)の注意点、chmodコマンドとの違いまで実例付きで網羅。Operation not permitted などのエラー原因と対処法も掲載しています。

本文テキスト

Linuxでファイルやディレクトリの「所有者」や「所有グループ」を変更する際に必ず使うのが chown(チェンジ・オーナー)コマンドです。

「所有権を変更したいけれど、chmodとの違いがわからない」

「Operation not permitted や ユーザーが存在しません というエラーが出る」

本記事では、chownコマンドの基本的な書き方から、よく使う実用的なオプション、chmodとの違い、トラブル時のエラー対処法まで分かりやすく解説します。

1. chownコマンドとは?chmodとの違い

chown は Change Owner の略で、ファイルやディレクトリの所有者(ユーザー)やグループを変更するためのコマンドです。

chmodコマンドとの違い

よく混同される chmod との違いは以下の通りです。

コマンド役割設定の例
chown「誰のものか」(所有者・グループ) を変更taro さんの所有にする
chmod「何ができるか」(読み・書き・実行権限) を変更読み取り専用(444)にする

ポイント:ファイルを開く権限・実行権限(パーミッション)を変えたい場合は chmod、ファイルの持ち主自体を変えたい場合は chown を使います。

2. chownコマンドの基本構文

基本構文は非常にシンプルです。

chown [オプション] 新ユーザー[:新グループ] 対象ファイル・ディレクトリ
  • 所有者のみ変更:chown ユーザー名 ファイル名
  • 所有者とグループを同時に変更:chown ユーザー名:グループ名 ファイル名(区切りは : または .)
  • グループのみ変更:chown :グループ名 ファイル名

3. 【一目でわかる】よく使う実践コマンド例

実務や開発環境で頻繁に使うコマンドパターンです。コピー&ペーストしてご活用ください。

① ファイルの所有者を変更する

chown taro test.txt

② 所有者とグループを同時に変更する

chown hanako:admin config.ini

③ グループだけを変更する

chown :sales data.csv

④ ディレクトリ配下をまとめて変更する(再帰処理 -R)

Webサーバー(/var/www など)の権限を一新したい場合によく使います。

sudo chown -R www-data:www-data /var/www

⑤ シンボリックリンク自体の所有者を変更する(-h)

-h オプションを付けないと、リンク先の実体ファイルが変更されてしまいます。

chown -h guest link_file

4. 主なオプション一覧

オプション短縮形役割・用途
--recursive-Rディレクトリ内の全ファイルを再帰的に変更する
--no-dereference-hシンボリックリンク自体の所有者を変更する
--verbose-v実行結果・変更内容を詳細に出力する
--changes-c実際に変更があった場合のみ結果を表示する
--from=USER:GROUP—現在の所有者/グループが一致した場合のみ変更する
--reference=FILE—指定した別ファイルの所有者設定をコピーして適用する

5. よくあるエラーと対処法

① Operation not permitted (許可がありません)

  • 原因:一般ユーザー権限で他人のファイルやroot所有のファイルを変更しようとしています。
  • 解決策:先頭に sudo を付けて実行します。sudo chown taro file.txt

② chown: 'ユーザー名': invalid user (ユーザーが存在しません)

  • 原因:指定したユーザー名やグループ名のタイポ、またはシステム上に存在しない名前を指定しています。
  • 解決策:cat /etc/passwd(ユーザー確認)や cat /etc/group(グループ確認)で正しい登録名を確認してください。

③ -R(再帰変更)を実行したのに一部が反映されない

  • 原因:権限がないサブフォルダが混ざっている可能性があります。
  • 解決策:sudo を適用して実行するか、エラーメッセージを出力する -v オプションを付けて実行・確認してください。sudo chown -Rv user:group /target/dir

6. 安全に使うための注意点・ベストプラクティス

  1. -R(再帰変更)を実行する前に必ずパスを確認するchown -R user:group / var/www のように / の後ろに不要なスペースを入れると、ルートディレクトリ以下の全所有権が壊れ、OSが起動しなくなる恐れがあります。
  2. 実行前の ls -l 確認を習慣化する変更前の状態を ls -l でスクショやログに残してから実行すると、トラブル時の切り戻しがスムーズです。

まとめ

  • chown は「所有者・グループ」を変更するコマンド(アクセス権変更は chmod)
  • 基本形は chown ユーザー:グループ ファイル名
  • ディレクトリ一括変更は sudo chown -R ユーザー:グループ ディレクトリ
  • 権限エラーが出たら sudo を付与して実行する

適切な所有者設定を行うことで、セキュリティの向上とトラブルのないサーバー運用を実現しましょう。

コメント

タイトルとURLをコピーしました