【New Star Project 2023】Linuxのファイルパーミッションについて解説

著者:主張--

個人ホームページ:主張する -- 個人ホームページ

著者は今後もネットワーク知識やPythonの基礎知識を更新していきますので、よろしくお願いします

序文

この記事では、Linux システムの重要なファイルとは何かを詳しく理解します。ただし、各ファイルにはかなりの数の属性と権限があり、その中で最も重要なものは、ファイルの所有者の概念です。したがって、以下ではまず、ファイル所有者、グループの概念、およびその他の人々の概念を理解します。

目次

1. ユーザーとグループ

1. ファイル所有者

2. グループコンセプト

①ユーザーの意味(簡易理解)

②グループの概念(簡易理解)

3. 他者という概念

2 番目に、Linux ファイル権限の概念

1. Linux ファイルの属性

2. Linux ファイル権限の重要性

① システム保護機能

②チーム開発ソフトまたはデータ共有機能

③ 不適切な権限設定による危険性

3. ファイルの属性と権限を変更する方法

1. 所属グループを変更する

2. ファイル所有者を変更する

3. 権限を変更する

①数値タイプはファイルのパーミッションを変更します

② シンボルの種類によりファイルのパーミッションが変更される


1. ユーザーとグループ

1. ファイル所有者

初めて Linux に触れるとき、なぜ Linux にはこれほど多くのユーザーがいるのか、どのようなグループがあり、どのような用途があるのか​​、非常に奇妙に感じるかもしれません。このユーザーとグループの機能は非常に強力で使いやすいセキュリティ保護ですLinux は複数人によるマルチタスク システムであるため、複数の人がこのホストを使用して同時に作業することがよくありますが、全員のプライバシーと全員が好む作業環境を考慮するために、このファイルの所有者の役割は非常に重要です!

たとえば、電子メールをファイルに転送して自分のホーム ディレクトリに置くとき、そのファイルを他の人に見られたくない場合はどうすればよいでしょうか? この時点では、ファイルの所有者のみがこのファイルの内容を表示および変更できるようにファイルを設定します。たとえこの非常に重要なファイルを持っていることが他の人に知られていたとしても、適切なアクセス許可を設定しているためです, そのため、当然他の人はファイルの内容を見ることができなくなります。

2. グループコンセプト

ファイル所有者について話した後、グループについて話しましょう。ファイルとそのファイルが属するグループを構成する必要があるのはなぜですか? グループの最も便利な機能の一つと言っても過言ではありません。

例:ホストで 2 つのデータ グループが生成され、最初のグループは Q としてグループ化され、そのメンバーは A、B、および C であるとします。2 番目のグループは S としてグループ化され、そのメンバーは E、F、 G. これら 2 つのグループの間には競争がありますが、同じレポートを提出する必要があります。

質問:各グループのメンバーは互いのデータを変更できる必要がありますが、他のグループのメンバーは自分のファイルの内容を見ることができません。このとき、どうすればよいですか?

Linux システムでは、このような制限は非常に簡単です。簡単なファイル許可設定を使用して、チーム (グループ) 以外の他のユーザーがコンテンツを閲覧できないように制限できますまた、チーム メンバーが私が作成したファイルを変更できるようにすることもできます。同時に、プライベートな機密ファイルがまだある場合は、チーム メンバーが私のファイル データを見られないように設定することもできます。この機能はとても便利ですよ!

①ユーザーの意味(簡易理解)

家族3人はそれぞれ自分の部屋を持っているため、チャン・サンはリー・シーの部屋に入ることができますが、チャン・サンはリー・シーのワードローブを検索することはできません。それは李斯に「歓迎」されるでしょう!プライベートな空間であるクローゼットには李斯の私物が入っているかもしれないので、張三は当然受け取れません!

②グループの概念(簡易理解)

リビングルームを共有しているので、3人でテレビを見たり、携帯電話をいじったり、ソファに座って私の記事を読んだりすることができます。とにかくリビングにあるアイテムであれば3人で使えます!だってみんな家族だから!

上記の説明を読めば、誰でも理解できるはずです。家族とはいわゆる「グループ」のことで、家族3人​​はそれぞれ3人のユーザーでありこの3人のユーザーは同じグループです3 人のユーザーは同じグループに属していますが、個人のプライベート スペースを維持するために、グループの所有者が特定のユーザーの個人情報を照会できないように権限を設定できます。グループ共有を設定すると、全員に共有させることができます!

3. 他者という概念

ファイルの場合、ユーザーがファイルの所有者ではなくユーザー グループから除外されている場合、ユーザーには他の人の ID が与えられるため、ユーザー所有者およびユーザー グループのメンバーの権限を享受できなくなります。 。ファイルにアクセスしたい場合は、他のユーザーに対するファイルのアクセス許可が設定されるまで待つ必要があります。

2 番目に、Linux ファイル権限の概念

Linux のユーザーとグループについて一般的に理解したら、これらのいわゆるユーザーとグループにファイルのアクセス許可を設定する方法について話しましょう。 ファイルのアクセス許可と属性は Linux を学習する上で非常に重要なレベルなので、初心者にとってこの部分は非常に重要です。この部分の概念がなければ、他の人が何を言っているのか理解できません。たとえば、画面の前に「アクセス許可の拒否」と表示されても、それが何を意味するのかわからないかもしれません。この場合、権限の設定が間違っているはずです。

1. Linux ファイルの属性

Linux のファイル属性を理解したいので、最初に説明しなければならない重要なコマンドがあります。それがファイルを表示するための「ls」コマンドです。dmtsai を使用してシステムにログインし、su - を使用して ID を root に切り替えた後、「ls -al」コマンドを発行して、事故がないかどうかを確認します。次の図が表示されます。

e8dae345ba9d49619fbdd87b81e1d5f3.jpg

ls (フルネーム: リスト) では、ファイル名とファイルの関連属性の表示に重点が置かれています。オプション「-al」を追加すると、ファイルのすべての詳細な権限と属性がリストされます(ここには隠しファイルも含まれます)。

2. Linux ファイル権限の重要性

Linux システムでは、各ファイルに多くの属性、特にグループの概念が追加されていますが、これは何に役立つのでしょうか? 実際、最大の用途は「データセキュリティ」です。

① システム保護機能

簡単な例を挙げると、このファイルにはシステム内のすべてのアカウントが記録されるため、システム サービスに関連するファイル (/etc/shadow など、アカウントによって管理されるファイル) に関連するファイルの読み取り、書き込み、実行ができるのはシステム内で rootだけです。したがって、これは非常に重要な設定ファイルです。もちろん、誰もそれを読み取ることはできません。root だけが読み取ることができます。したがって、ファイルのパーミッションは [ ---------- ] になります。

②チーム開発ソフトまたはデータ共有機能

ソフトウェア開発チームがあり、チーム内の全員が特定のディレクトリにあるファイルを使用できるようにしたいが、チームのメンバー以外のユーザーはそのファイルを開かないようにしたい場合はどうすればよいでしょうか? たとえば、チーム A に 1、2、3 の 3 人がいる場合、チームに必要なファイル権限を [ -rwxrws--- ] として設定して、作業チーム A に提供できます。

③ 不適切な権限設定による危険性

別の例として、ディレクトリのアクセス許可が適切に設定されていないと、他の人がシステム上の重要なデータを変更してしまう可能性があります。たとえば、オンとオフの切り替え、ユーザーの追加または削除などのコマンドを root だけが実行できる場合、それらを誰でも実行できるように変更すると、ユーザーが誤って再起動した場合はどうなりますか?

したがって、Linux のファイルとディレクトリの属性を変更する前に、まずどのデータが変更可能で、どのデータが不変であるかを把握する必要があります。

3. ファイルの属性と権限を変更する方法

システムのセキュリティに対するファイル アクセス許可の重要性、およびユーザーやグループに対するファイル アクセス許可の関連性はわかったので、ファイルの属性とアクセス許可を変更するにはどうすればよいでしょうか? 変更できるファイルのアクセス許可はいくつまでですか? 実際、ファイルには多くの属性と権限があります。まず、グループ、所有者、およびさまざまな ID のアクセス許可を変更するために一般的に使用されるいくつかのコマンドを次のように紹介します。

chgrp:ファイルが属するグループを変更します

chown:ファイル所有者を変更する

chmod:ファイルのパーミッション、SUID、SGID、SBIT などの特性を変更します。

1. 所属グループを変更する

ファイルのグループを変更するのは非常に簡単です。chgrp (フルネーム: グループ変更) を使用するだけです。変更されたグループ名は /etc/group ファイルに存在する必要があることに注意してください。そうでない場合は、表示されます。エラー!

あなたがすでに root であると仮定すると、ホーム ディレクトリにInitial-setup-ks.cfg という名前のファイルがあります。このファイルのグループを変更するにはどうすればよいでしょうか? /etc/group には users という名前のグループがすでに存在することがわかっているとしますが、グループ名 testing は /etc/group に存在しません。グループをそれぞれ users と testing に変更するとどうなりますか?

af414607a1d54edebc863eae41f9b09c.jpg

ファイルのグループがusersに変更されているのがわかりますが、testingに変更するとエラーが発生します。

2. ファイル所有者を変更する

ファイルの所有者を変更するにはどうすればよいですか? 非常に単純です。変更グループが変更グループであるため、変更所有者は変更所有者になります。ビンゴ!これが chown コマンドの目的ですが、ユーザーはシステムにすでに存在するアカウントである必要がある、つまり、/etc/passwd ファイルに記録されているユーザー名は変更できることに注意してください。

958c8de256a745c984c8ac7f2ab5a684.jpg

3. 権限を変更する

ファイルのパーミッションを変更するには chmod コマンドを使用しますが、パーミッションの設定方法は 2 つあり、数字や記号を使用してパーミッションを変更することもできます

①数値タイプはファイルのパーミッションを変更します

Linux ファイルには、所有者/グループ/その他という9 つの基本的なアクセス許可があります。3 つのアイデンティティのそれぞれには、独自の読み取り/書き込み/実行アクセス許可があります。これらの 9 つのアクセス許可は、3 つのグループに分かれています。このうち、各権限を数字で表すことができます (r:4、w:2、x:1)。各 ID の 3 つのアクセス許可スコアを累積する必要があります。たとえば、アクセス許可が [-rwxrwx---] の場合、スコアは次のようになります。

所有者 = rwx = 4+2+1 = 7

グループ = rwx = 4+2+1 = 7

その他= --- = 0+0+0 = 0

したがって、パーミッションを変更すると、ファイルのパーミッション番号は 770 になります。権限を変更するコマンド chmod の構文は次のとおりです。

c22c459d82264f4c9aa235c65a909fb0.jpg

② シンボルの種類によりファイルのパーミッションが変更される

前の説明から、基本的に 9 つの権限があることがわかります。次に、u、g、o を使用して 3 つの ID の権限を表すことができます。さらに、a はすべて、つまりすべてのアイデンティティを表します。次に、読み取りおよび書き込み権限を r、w、x と書くことができます。つまり、次の方法を使用して確認できます。

230e14bcca364d1f9836552b293e51f7.jpg

ファイルのアクセス許可を -rwxr-xr-x に設定する場合、コマンドは次のとおりです。

73436bfd2f1549368fd5ecf98c98076d.jpg

おすすめ

転載: blog.csdn.net/m0_73995538/article/details/131490421