Linux の各ファイルシステムオブジェクトには、ユーザー所有者とグループ所有者が記録されています。これらの識別情報は、所有者とグループのどちらの権限トリプレットを適用するかを決めますが、それ自体が特定の権限を与えるわけではありません。所有権とモードの両方を ls -l で確認してください。
パーミッション · レッスン 3
所有権の権限
Linux のファイルシステムオブジェクトについて、ユーザー所有者とグループ所有者を確認・変更する方法を学びます。
ユーザー所有者を変更する
change owner の略である chown を使い、別のユーザー所有者を割り当てます。
$ sudo chown patty myfile
これは myfile のユーザー所有者を patty へ変更し、グループは変えません。現在の所有者が自分であっても、ファイルのユーザー所有者を変更するには通常、適切な特権が必要です。この制限により、クォータなど所有権に基づく制御を回避するためのファイル移管を防ぎます。
グループを変えず、myfile のユーザー所有者を patty へ変更するコマンドはどれですか?
グループ所有者を変更する
chgrp を使って別のグループ所有者を割り当てます。
$ chgrp whales myfile
一般的なシステムでは、非特権の所有者がファイルのグループを変更できるのは、自身が所属するグループに限られます。特権プロセスはより広い変更を行えます。同等の chown 形式では先頭にコロンを付けます。
$ chown :whales myfile
変更後、カーネルがグループクラスを選んだ場合は、そのグループのモードビットが適用されます。グループを変えても、読み取り、書き込み、実行ビットが自動的に追加されることはありません。
chgrp whales myfile は何を変更しますか?
ユーザーとグループを同時に変更する
chown に USER:GROUP を指定すると、両方のフィールドを一度に更新できます。
$ sudo chown patty:whales myfile
このコマンドは patty をユーザー所有者、whales をグループ所有者へ割り当てます。成功したと仮定せず、結果を確認してください。
$ ls -l myfile
一つの chown コマンドでユーザー patty とグループ whales を割り当てる所有権指定はどれですか?
再帰変更を慎重に扱う
-R オプションは所有権を再帰的に変更しますが、広範な再帰コマンドは予期しないディレクトリツリーを越えたり、サービスデータへ影響したりする場合があります。正確な対象を確認し、使用する実装のシンボリックリンク動作を理解し、ツリーを事前に確認し、大きな階層を変更する前に小さなサンプルで検証してください。例にある特権付き所有権コマンドを、範囲を確認せず実システムへコピーしてはいけません。
ファイルのグループ所有者を変更すると、通常のグループ権限ビットはどうなりますか?
隔離された環境で練習するには、Linux のユーザー、グループ、ファイルパーミッションラボで、ファイルモードとともに所有権の確認・変更を行ってください。
レッスン完了
所有権の権限 を完了しました
所有権メタデータと権限ビットを区別し、意図的に変更できるようになりました。
chown USER FILEでユーザー所有者を変更する。chgrp GROUP FILEまたはchown :GROUP FILEでグループ所有者を変更する。chown USER:GROUP FILEで両方のフィールドを設定する。結果を検証し、再帰変更の範囲を慎重に扱う。