概要
所有者や所有グループを変更します。サービス用ユーザーへの移譲、復旧後の調整、共有領域の整備で頻出します。
基本構文
chown [オプション]... 所有者[:グループ] ファイル...
chown [オプション]... :グループ ファイル...
chown [オプション]... --reference=参照ファイル 対象ファイル...詳細解説
chownは、ファイルやディレクトリの所有者を変更するコマンドです。書式によっては、所有者とグループを同時に変更したり、グループだけを変更したりできます。
実務では、アプリケーションの実行ユーザーへ所有権を渡す、展開したファイル群の所有者を整える、復元したバックアップの権限を戻すといった場面で使います。
再帰変更を誤ると大量のファイルの所有権を一気に書き換えてしまうため、対象の絞り込みと事前確認が必須です。
このコマンドを使う場面
サービス用ユーザーへ引き渡す時、Webサーバーやデータベースの書き込み先を整える時、バックアップ復元後に所有権を戻す時に使います。
まず安全に試す方法
1. touch sample.txt
2. ls -l sample.txt
3. sudo chown root:root sample.txt
4. ls -l sample.txt
3分ミッション
少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。
-
ls -lの前後差分を確認します。
-
chown :groupの書式で所有者を変えずにグループだけ変えます。
資格試験との関連
-
LinuC レベル1
範囲: 1.02.1 ファイルの所有者とパーミッション根拠: officialLinuCレベル1では、所有者、グループ、パーミッション、生成時マスクの理解が重要です。
-
LPIC-1
範囲: 104.5 Manage file permissions and ownership根拠: officialLPIC-1では、所有者、グループ、モード、生成時マスクの理解が重要です。
-
共通基礎
範囲: Linuxコマンド基礎根拠: editorial試験横断で、chownはLinux運用の基礎体力を支える重要なコマンドです。
実行結果サンプル
-
ls -l sample.txt sudo chown root:root sample.txt ls -l sample.txt-rw-r--r-- 1 user user... -rw-r--r-- 1 root root... -
sudo chown :adm sample.txt ls -l sample.txt-rw-r--r-- 1 root adm...
戻り値コード
- 0 正常終了。所有者またはグループの変更に成功しました。
- >0 権限不足、存在しないユーザーやグループ、対象不存在などで変更できませんでした。
使用例
chown appuser config.ymlchown appuser:appgroup data.dbchown -R www-data:www-data /srv/www/sitechown --reference=base.txt target.txt
よくあるエラー
-
Operation not permittedになる 原因: 所有者変更には通常、管理者権限が必要です。対処: sudoの要否を確認します。
-
再帰変更後に関係ないものまで壊れた 原因: 対象ディレクトリを広く取り過ぎました。対処: findやlsで対象を確認し、必要最小限へ絞ります。
導入・互換性情報
POSIXで基本機能は標準化されています。GNU実装では--referenceなどの拡張があります。シンボリックリンクの扱いは実装差が出やすい分野です。
注意点 / セキュリティリスク
危険度は中程度です。誤った再帰変更はサービス停止、権限逸脱、復旧負荷の増大を招きます。通常、所有者変更には高い権限が必要です。
FAQ
-
Q. chownとchgrpの違いは何ですか。 A. chownは所有者変更が主目的で、書式によってはグループも同時に扱えます。chgrpはグループ変更に特化しています。
-
Q. 一般ユーザーでも所有者を変えられますか。 A. 通常はできません。多くの環境では管理者権限が必要です。
関連用語
参照リンク
- カテゴリー: Permissions And Ownership
- レベル: Basic
- 対応試験: LinuC, LinuC レベル1, LPIC, LPIC-1, 共通基礎