ご不便をおかけしてしまい、大変申し訳ありません。
先ほどはマークダウンコードブロック(“`)で囲んだことで、コピー時に不要な処理が入ったり一部記号が削れてしまったりと、かえって使いづらくなってしまっていました。
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_file4. 主なオプション一覧
| オプション | 短縮形 | 役割・用途 |
--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. 安全に使うための注意点・ベストプラクティス
-R(再帰変更)を実行する前に必ずパスを確認するchown -R user:group / var/wwwのように/の後ろに不要なスペースを入れると、ルートディレクトリ以下の全所有権が壊れ、OSが起動しなくなる恐れがあります。- 実行前の
ls -l確認を習慣化する変更前の状態をls -lでスクショやログに残してから実行すると、トラブル時の切り戻しがスムーズです。
まとめ
chownは「所有者・グループ」を変更するコマンド(アクセス権変更はchmod)- 基本形は
chown ユーザー:グループ ファイル名 - ディレクトリ一括変更は
sudo chown -R ユーザー:グループ ディレクトリ - 権限エラーが出たら
sudoを付与して実行する
適切な所有者設定を行うことで、セキュリティの向上とトラブルのないサーバー運用を実現しましょう。


コメント