Linux/Unixにおけるファイル権限:読み取り、書き込み、変更方法
⚡ スマートサマリー
LinuxおよびUnixにおけるファイル権限は、各ファイルの読み取り、書き込み、実行を誰が行えるかを制御し、所有権(ユーザー、グループ、その他に割り当てる)と読み取り、書き込み、実行の権限ビットという2つの層を通してマルチユーザーシステムを保護します。
ファイル権限 Linux Unixは、各ファイルの読み取り、変更、実行権限を誰が持つかを決定することで、共有マルチユーザーシステムのセキュリティを維持します。このページでは、ファイルの所有権、読み取り、書き込み、実行権限、およびそれらを変更するコマンドについて説明します。
Linuxは、多数のユーザーが同時にアクセスできるマルチユーザーオペレーティングシステムであるUnixのクローンです。Linuxは、メインフレームやサーバー上でも変更なしで使用できます。しかし、不正なユーザーや悪意のあるユーザーが重要なデータを破損、変更、または削除する可能性があるため、セキュリティ上の懸念が生じます。効果的なセキュリティのために、Linuxは認証を2つのレベルに分けています。
- 所有権
- 許可
ファイル権限と所有権の概念は、Linuxにおいて非常に重要です。ここでは、Linuxの権限と所有権について説明し、両方について解説します。まずは所有権から始めましょう。
Linux ファイルの所有権
Unix/Linuxシステム上のすべてのファイルとディレクトリには、以下の3種類の所有者が割り当てられます。下の図は、所有権がユーザー、グループ、その他のユーザーにどのように対応しているかを示しています。
ユーザー
ユーザーはファイルの所有者です。 デフォルトでは、ファイルを作成した人がその所有者になります。 したがって、ユーザーは所有者と呼ばれることもあります。
グループ
A ユーザー・グループ 複数のユーザーを含めることができます。グループに属するすべてのユーザーは、ファイルに対して同じLinuxグループ権限を持ちます。たとえば、複数のユーザーがファイルにアクセスする必要があるプロジェクトがあるとします。各ユーザーに手動で権限を割り当てる代わりに、すべてのユーザーをグループに追加し、ファイルにグループ権限を割り当てることで、グループメンバーのみがファイルを読み取ったり変更したりできるようになり、他のユーザーはアクセスできなくなります。
その他
ファイルへのアクセス権を持つ他のユーザー。このユーザーは、ファイルを作成したわけでも、ファイルを所有できるユーザーグループに属しているわけでもありません。実際には、他のすべてのユーザーを指します。したがって、他のユーザーに対するアクセス許可を設定することは、「全世界に対するアクセス許可を設定する」とも呼ばれます。
ここで大きな疑問が生じます。Linuxはどのようにしてこれら3種類のユーザーを区別し、ユーザー「A」が他のユーザー「B」の重要な情報やデータを含むファイルに影響を与えないようにするのでしょうか?これは、自分のファイルを扱う同僚に自分のファイルを操作されたくないのと同じです。 Linuxコンピューター 画像を閲覧するには、権限が必要です。ここで権限が重要になり、権限によってユーザーの行動が規定されます。
Linuxのパーミッションシステムについて理解しましょう。
Linuxファイルのアクセス許可
Unix/Linuxシステム内のすべてのファイルとディレクトリには、上記で説明した3つの所有者すべてに対して、以下の3つのアクセス許可が定義されています。
- 読む: この権限により、ファイルを開いて読み込むことができます。ディレクトリに対する読み取り権限があれば、そのディレクトリの内容を一覧表示できます。
- 書きます: 書き込み権限があれば、ファイルの内容を変更することができます。ディレクトリへの書き込み権限があれば、そのディレクトリに保存されているファイルを追加、削除、名前変更することができます。ファイルへの書き込み権限はあっても、そのファイルが保存されているディレクトリへの書き込み権限がない場合を考えてみましょう。この場合、ファイルの内容を変更することはできますが、ディレクトリからファイルの名前を変更したり、移動したり、削除したりすることはできません。
- 実行します。 In Windows実行可能プログラムは通常「.exe」という拡張子を持ち、簡単に実行できます。Unix/Linuxでは、実行権限が設定されていない限り、プログラムを実行することはできません。実行権限が設定されていない場合でも、プログラムコードを表示したり変更したりすることはできますが(読み取り権限と書き込み権限が設定されている場合)、実行することはできません。
Linuxにおけるファイル権限を例を挙げて見ていきましょう。ターミナルでls -lを実行すると、次のようになります。
ls -l
以下のスクリーンショットは、長いリストの中にある権限文字列を示しています。
ここで強調表示されている「-rw-rw-r–」というコードは、所有者、ユーザーグループ、および全世界に対して与えられたUnixのパーミッションを示しています。
ここで、最初の「-」はファイルが選択されたことを意味します。下のアイコンは通常のファイルを示します。
そうでなければ、それがディレクトリであれば、以下のリストのように「d」が表示されます。
キャラクターは覚えやすいです。
- r = 読み取り権限
- w = 書き込み権限
- x = 実行権限
- – = 許可なし
このように考えてみましょう。コードの最初の部分は「rw-」です。これは、所有者「Home」が以下のことができることを示しています。
- ファイルを読む
- ファイルの書き込みまたは編集
実行ビットが「-」に設定されているため、所有者はファイルを実行できません。下のアイコンは、実行ビットがクリアされてダッシュになっている状態を示しています。
設計上、Fedora、CentOS、および Ubuntu ユーザーを、そのユーザーと同じ名前のグループに追加します。したがって、ユーザー「tom」は「tom」という名前のグループに追加されます。
2番目の部分は「rw-」です。これはユーザーグループ「Home」用で、グループメンバーは以下のことができます。
- ファイルを読む
- ファイルの書き込みまたは編集
3つ目の部分は全世界向けで、つまりすべてのユーザーを対象としています。「r–」と表示されています。これは、ユーザーが以下のことしかできないことを意味します。
- ファイルを読む
以下の内訳は、パーミッション文字列の各部分を、所有者、グループ、およびワールドにマッピングしたものです。
Linuxでファイル/ディレクトリのパーミッションを変更する方法:'chmod'コマンドを使用する
例えば、同僚に自分のプライベートな画像を見られたくない場合、ファイル権限を変更することでそれが可能です。
'chmod' を使用できます commandこれは「モード変更」の略です。このコマンドを使用すると、ファイルまたはディレクトリに対して、所有者、グループ、および全世界に対して、読み取り、書き込み、実行の権限を設定できます。
構文:
chmod permissions filename
このコマンドを使用する方法は2つあります。
- 絶対モード
- 記号モード
Linuxにおける絶対(数値)モード
このモードでは、ファイル権限は文字ではなく、3桁の8進数で表されます。以下の表に、すべての権限タイプに対応する数値を示します。
| 数 | 権限の種類 | シンボル |
|---|---|---|
| 0 | 無許可 | - |
| 1 | 実行する | -バツ |
| 2 | 書きます | -w- |
| 3 | 実行 + 書き込み | -wx |
| 4 | タリアセン・ウェストにおける修復作業について | NS- |
| 5 | 読み取り + 実行 | rx |
| 6 | 読む+書く | rw- |
| 7 | 読み書き実行 | rwx |
下のターミナルウィンドウに示されているように、chmodコマンドの動作を見てみましょう。
上記のターミナルウィンドウでは、ファイル「sample」のパーミッションを「764」に変更しました。「764」という絶対パスコードは以下のことを意味します。
- 所有者は、読み書きおよび実行が可能です。
- ユーザーグループは読み書きが可能です。
- 世界は読むことしかできない。
これは、以下の結果のように「-rwxrw-r–」と表示されます。
Linuxでは、絶対値を指定することでファイルのユーザー権限を変更できます。
Linux のシンボリック モード
絶対モードでは、3人全員の所有者の権限を変更できます。シンボリックモードでは、特定の所有者の権限を変更できます。シンボリックモードでは、数式を使用してUnixファイルの権限を変更します。
| Operator | 詳細説明 |
|---|---|
| + | ファイルまたはディレクトリにアクセス許可を追加します |
| – | 権限を削除します |
| = | 権限を設定し、以前に設定された権限を上書きします。 |
各所有者は以下のとおりです。
| ユーザー | 意味 |
|---|---|
| u | ユーザー/所有者 |
| g | グループヘッド |
| o | その他 |
| a | を |
パーミッションは755のような数値ではなく、rwxのような文字で指定します。以下の例をご覧ください。
Linux での所有権とグループの変更
ファイルまたはディレクトリの所有権を変更するには、次のコマンドを使用できます。
chown user filename
ファイルまたはディレクトリのユーザーとグループの両方を変更したい場合は、次のコマンドを使用します。
chown user:group filename
以下に、その実際の動作を示します。
グループの所有者のみを変更したい場合は、次のコマンドを使用してください。
chgrp group_name filename
「chgrp」は変更グループを意味します。以下のスクリーンショットは、chgrpコマンドの使用例を示しています。
先端
- ファイル /etc/group には、システム上で定義されているすべてのグループが含まれています。
- 以下に示すように、「groups」コマンドを使用すると、自分が所属しているすべてのグループを見つけることができます。
- 以下に示すように、newgrp コマンドを使用すると、デフォルトグループ以外のグループのメンバーとして作業できます。
- 同じファイルを2つのグループが所有することはできません。
- Linuxでは、ネストされたグループという概念は存在しません。あるグループが別のグループのサブグループになることはできません。
- x — ディレクトリを実行するということは、ディレクトリに「入る」ことが許可され、サブディレクトリへのアクセス権を取得できる可能性があることを意味します。
- ファイルやディレクトリに設定できるその他のアクセス許可については、後日公開する上級チュートリアルで説明します。







.png)
.png)
.png)
.png)
.png)


