ホームページ >運用・保守 >Linuxの運用と保守 >Linuxファイルのアクセス許可にはどのような情報が保存されますか
Linux ファイルのアクセス許可には、3 種類の情報が保存されます: 1. ファイル所有者のアクセス許可情報、つまり、ファイルまたはディレクトリを所有するユーザーのアクセス許可情報、2. ファイルまたはディレクトリを所有するグループのアクセス許可情報ファイル所有者が属するユーザーの権限情報 ファイルまたはディレクトリを所有するユーザーの権限情報 ファイルまたはディレクトリのグループの権限情報 3. 他のユーザーの権限情報、つまりファイルまたはディレクトリの権限情報オーナーとグループ以外の人。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
Linux ファイルのアクセス許可には、ファイル所有者のアクセス許可、ファイル所有者のグループのアクセス許可、および他のユーザーのアクセス許可情報が保存されます。 3 種類のアクセス ID (ファイル所有者、グループ、その他のユーザー) に対応します
フォルダーは実際にはファイルです
通常のファイル保存されるのはテキスト情報で、フォルダに保存されるのはカレントフォルダ配下のファイルのディレクトリエントリ情報です。
ディレクトリエントリ:ファイル名とファイルインデックスです
1. 読み取り可能権限 (読み取り): ファイルまたはフォルダーの内容の表示、ディレクトリ リストの表示を許可します。
2. 書き込み可能権限 (書き込み): の変更を許可します。
のファイルまたはサブディレクトリを作成、移動、削除します。 3. 実行権限 (実行): プログラムによるディレクトリの切り替えを許可します。
1. ファイル所有者: ファイルまたはディレクトリを所有するユーザー アカウント--"Owner--user--"u
2. グループ: ファイルまたはディレクトリを所有するグループ アカウント-- 》コミュニティを組織する--グループ--》g
3. その他(other): オーナーおよびグループ内の他の人々に加えて--》部外者--》o
# ls -al up.txt -rw-r--r--. 1 root root 126 4月 9 16:59 up.txt
1.1、第一列一般十个字符组成 第一个字符表示文件类型 f 为文件 d 为文件夹 l 为链接文件 b 为块设备文件(block) --》磁盘设备文件 c 为字符设备文件 --》显示字符相关 p 为管道文件 s 为socket文件 --》进程通信的 1.文件socket 本机上的不同进程之间通信的方式 2.网络socket ip:port 不同的机器之间的不同的进程通信,192.168.0.123:3
ファイル記述子: Linux カーネルは、プロセスごとにファイル記述子テーブルを作成します。このテーブルには、プロセスによって開かれたすべてのファイルが記録されます。プロセスがどのファイルを開いたのかを認識しやすくするために、各プロセスには「.」が付与されており、各ファイルには番号が付けられており、この番号がファイルディスクリプタとなります。さらに、プロセスがファイルを読み書きするときは、対応する番号を直接使用し、ファイル名は使用しません。
Linux システム従来のアクセス許可制御方法は、3 つの ID (ファイル所有者、所属グループ、その他のユーザー) を使用し、それらを 3 つのアクセス許可 (読み取り r、書き込み w、アクセス x) と照合することに他なりません。たとえば、ls -l コマンドを使用すると、現在のディレクトリ内のすべてのファイルの詳細情報を表示できます。これには、各ファイルのアクセス許可設定が含まれます。
# ls -l total 36 drwxr-xr-x. 2 root root 4096 Apr 15 16:33 Desktop drwxr-xr-x. 2 root root 4096 Apr 15 16:33 Documents ... -rwxr-xr-x. 2 root root 4096 Apr 15 16:33 post-install ...
上記の出力情報では、「rwxr-xr」 -x" は、さまざまなユーザーがファイルにアクセスする権限を持っていることを示します。つまり、ファイル所有者はファイル (rwx) に対する読み取り、書き込み、およびアクセス権限を持ち、ファイルが属するグループはファイル (r-x) に対する読み取りおよびアクセス権限を持っています。 )、他のユーザーはファイルに対する読み取り、書き込み、およびアクセス権限を持っています。アクセス権限 (r-x)。
許可の前の文字は、特定のファイルの種類を示します。たとえば、d はディレクトリ、- は通常のファイル、l は接続ファイル、b はデバイス ファイルなどを示します。
しかし、実際のアプリケーションでは、上記の 3 つのアイデンティティだけではまったく十分ではありません。
上の図のルート ディレクトリに /project ディレクトリがあります。これがクラスのプロジェクト ディレクトリです。クラスのすべての生徒がこのディレクトリにアクセスして変更できます。教師はこのディレクトリに対して最高の権限を持っている必要があります。もちろん、他のクラスの生徒はこのディレクトリにアクセスできません。
このディレクトリのアクセス許可はどのように計画すればよいですか?教師は root ユーザーをこのディレクトリの所有者として使用し、権限は rwx です。クラス内のすべての生徒が tgroup グループに参加し、tgroup グループを /project ディレクトリの所有者にし、権限は rwx です。 rwx です。他のユーザーの権限は 0 (つまり ---) に設定されます。このようにして、このディレクトリにアクセスする権限は要件を満たします。
ある日、体験生 st がクラスにやって来ました。彼女は /project ディレクトリにアクセスできる必要があるため、このディレクトリに対する r および x 権限が必要ですが、以前のコースを学習していませんでした。ディレクトリ内の間違った内容を変更してしまうのが怖いため、彼女には w 権限を与えることができません。そのため、学生 st の権限は r-x です。しかし、彼女のアイデンティティをどのように割り当てるのでしょうか?オーナーになりますか?もちろんそうではありません。そうでない場合、ルートをどこに配置すればよいでしょうか? tグループに参加しますか? tgroup グループの権限は rwx であり、学生 st の権限は r-x である必要があるため、これは機能しません。他の人の権限を r-x に変更したらどうなるでしょうか?これにより、他のクラスのすべての生徒が /project ディレクトリにアクセスできるようになります。
通常のアクセス許可を持つ 3 つの ID だけでは明らかに十分ではなく、個々のユーザーにアクセス許可を設定することは不可能です。この場合は、ACL アクセス制御アクセス許可を使用する必要があります。
ACL は Access Control List の略で、Linux システムでは、ACL によって単一ユーザーのファイルへのアクセス許可を設定できます。従来の方法 (3 つの権限を持つ 3 つの ID) でファイル アクセス権限を設定するだけでなく、ACL を使用して設定することもできるとも言えます。この例では、st の学生を例に挙げますが、従来の 3 つの ID を与えても問題は解決できないため、ACL 権限制御を使用して、st ユーザーのファイルにアクセスするための r-x 権限を直接設定することを検討できます。
関連する推奨事項: 「Linux ビデオ チュートリアル 」
以上がLinuxファイルのアクセス許可にはどのような情報が保存されますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。