Linux システム内のファイルとディレクトリはすべて誰かに属します。
chown
コマンドを使用して所有権を変更できます。その方法をご紹介します。
各ファイルはユーザーとグループに属します
Linux はマルチユーザー システムです。オペレーティング システムでは、複数のユーザー アカウントを定義し、有効なユーザーであればコンピュータにログオンできます。さらに、複数のユーザーが 1 台のコンピュータを同時に使用できます。
どのファイルがどのユーザーに属しているかの記録を維持し、セキュリティを強化するために、Linux は所有権の概念を使用します。すべてのファイルは所有者 (ユーザー) とグループに属します。
ファイルが作成されるとき、その所有者はそれを作成したユーザーになります。ファイルが属するグループ (「所有」グループ) が、ユーザーの現在のグループです。ユーザーとグループには名前があり、ユーザー (または一意) 識別子 (UID) およびグループ識別子 (GID) と呼ばれる数値 ID もあります。
ファイルを作成すると、そのファイルはあなたによって所有され、現在のグループに属します。通常、これはサインインしているグループです。デフォルトでは、これはユーザー名と同じ名前を共有するグループで、システム上でユーザーとして作成されたときに作成されます。
chown
コマンドを使用すると、所有権の値を別の値に変更できます。新しい所有者、新しいグループ、または新しい所有者と新しいグループを同時に設定できます。ファイルの所有者はグループ所有権を変更できますが、ユーザー所有権を変更できるのは別のユーザーが関係するため、root だけです。 root 権限がなければ、システム上の別のユーザーに無意識のうちにファイルを「採用」させることはできません。
なぜ所有権を変更したいのですか?
これを実行する必要がある状況の例をいくつか示します。
- 異なる Linux または Unix 系オペレーティング システム間でファイルを転送する場合は、ユーザーとグループの所有者を、新しい Linux コンピューターでファイルを使用するアカウントの新しいユーザーとグループの所有者に変更する必要があります。
- ユーザーが組織を離れる可能性があり、そのユーザーのファイルはすべて別のスタッフ メンバーが管理することになります。所有者とグループ所有者を、現在これらのファイルを担当しているスタッフ メンバーに変更する必要があります。
- 特定のユーザーが使用するスクリプトを作成できます。
- root としてログインしてファイルまたはディレクトリを作成できますが、特定のユーザーがアクセスできるようにする必要があります。
グループ、UID、および GID の表示
自分が所属している グループを一覧表示する には、
groups
指示。
グループ
グループ、その数値 ID、
UID と GID
のリストを取得するには、
id
コマンドを使用します。
ID
ID とともにいくつかのオプションを使用して、出力を調整できます。
- -u: UID をリストします。
- -g: 有効な (現在の) GID をリストします。
- -nu: ユーザー名をリストします。
- -ng: 現在のグループ名をリストします。
id -u
id -g
id -nu
id -ng
ファイルのユーザーおよびグループの所有権の表示
ファイルまたはディレクトリの所有者を表示するには、
-l
(長いリスト) オプションを
ls
とともに使用します。
ls -l
リスト内に
dave
という名前が 2 回表示されていることがわかります。一番左の外観から、ファイルの所有者が
dave
というユーザーであることがわかります。一番右の
dave
ファイルが
dave
とも呼ばれるグループに属していることを示しています。
デフォルトでは、Linux ユーザーが作成されると、そのユーザーはそのユーザー名に応じた名前のプライベート グループに追加されます。彼らはそのグループの唯一のメンバーです。
この実行可能ファイルはユーザー
mary
によって所有されており、ファイルが属するグループは
mary's
プライベート グループです。
ls -l
このファイルはユーザー
oscar
によって所有されていますが、ファイルが属するグループは
researchlab
と呼ばれます。これは、
researchlab
グループの他のメンバーが、そのグループのメンバーに設定されているファイル権限に従って、このファイルにアクセスできることを意味します。
ユーザーの所有権の変更
いくつかの例を見てみましょう。このコマンドは、ファイル while.c のユーザー所有権をユーザー
mary
に変更します。
sudo chown Mary while.c
ls
を使用すると、ファイルのプロパティの変更を確認できます。
ls -l while.c
chown
を使用すると、複数のファイルの所有権を一度に変更できます。
sudo chown Mary getval.c global.c goto.c
これにより、3 つのファイルすべてのユーザー所有権が変更されます。
ls -l getval.c global.c goto.c
ワイルドカードを使用してファイルのグループを選択できます。このコマンドは、文字「c」で始まるすべてのファイルのユーザー所有権を変更します。
須藤 チャウン メアリー c*.*
これで、すべてのファイルの所有者が
mary
になります。グループの所有権は何も変更されていないことに注意してください。
ls -l メアリー c*.*
ディレクトリの所有権を変更しましょう。ファイル名の代わりにディレクトリ名を
chown
に渡すだけです。
sudo チャウン・メアリー ./archive/
ディレクトリの所有権プロパティを確認するには、
ls
を使用しますが、
-d
(ディレクトリ) オプションも使用します。これは、ディレクトリ内のファイルではなく、ディレクトリのプロパティをリストします。
ls -l -d ./archive/
ディレクトリ内のすべてのファイルの所有権を変更するには、
-R
(再帰) オプションを使用できます。このオプションは、
archive
フォルダー内のすべてのファイルのユーザー所有権を変更します。
sudo chown -R mary ./archive/
次に、アーカイブ ディレクトリ内のファイルを見てみましょう。
ls -l ./アーカイブ/
予想どおり、すべてのファイルは
mary
に属します。
グループ所有権の変更
グループの所有権を変更するにはさまざまな方法があります。
ユーザー所有権の変更と同時にグループ所有権を変更するには、新しい所有者名と新しいグループ名をコロン「:」で区切って渡します。グループはすでに存在している必要があります。
sudo chown Mary:researchlab Charm.c
ユーザーの所有者とファイルが属するグループの両方が変更されました。
ls -l チャーム.c
グループ所有権を新しい所有者の現在のグループに変更する簡単な方法。コロンを指定してグループ名を省略するだけです。
sudo chown Mary: caps.c
ls -l caps.c
ユーザー所有権とグループ所有権は両方とも
mary
に変更されました。
グループの所有権のみを変更するには、グループの前にコロンを付け、ユーザー名を省略します。ユーザーの所有者は変更されません。
sudo chown :researchlab at.c
ls -l at.c
グループの所有権は変更されましたが、ユーザーの所有権は変わりません。
UID および GID 値での Chown の使用
chown
コマンドでは、数値の UID および GID 値を使用できます。このコマンドは、ユーザーとグループの所有権を
mary
に設定します。
sudo chown 1001:1001 at.c
ls -l at.c
所持は法律の10分の9
あるいは彼らはそう言います。しかし、Linux では、所有権がファイル セキュリティの大部分を占めており、ファイルのアクセス許可が残りの部分を提供します。
chown
および
chmod
コマンドを使用して、システム上のファイル アクセスを保護します。
関連: 開発者と愛好家のための最高の Linux ラップトップ





