Linux管理者-ファイル/フォルダー管理

CentOS Linuxのディレクトリとファイルの両方に適用される権限を導入するために、次のコマンド出力を見てみましょう。

[centos@centosLocal etc]$ ls -ld /etc/yum* 
drwxr-xr-x. 6 root root 100 Dec  5 06:59 /etc/yum 
-rw-r--r--. 1 root root 970 Nov 15 08:30 /etc/yum.conf 
drwxr-xr-x. 2 root root 187 Nov 15 08:30 /etc/yum.repos.d

Note −表示される3つの主要なオブジェクトタイプは次のとおりです。

  • "-" −プレーンファイルのダッシュ

  • "d" −ディレクトリの場合

  • "l" −シンボリックリンクの場合

各ディレクトリとファイルの出力の3つのブロックに焦点を当てます-

  • drwxr-xr-x:ルート:ルート
  • -rw-r--r--:ルート:ルート
  • drwxr-xr-x:ルート:ルート

これらの行をよりよく理解するために、これを分解してみましょう-

d オブジェクトタイプがディレクトリであることを意味します
rwx 所有者に適用されるディレクトリ権限を示します
処方箋 グループに適用されるディレクトリ権限を示します
処方箋 世界に適用されるディレクトリ権限を示します
ルート 最初のインスタンスは、ディレクトリの所有者を示します
ルート 2番目のインスタンスは、グループ権限が適用されるグループを示します

所有者グループ世界の違いを理解することが重要です。これを理解しないと、インターネットへのサービスをホストするサーバーに大きな影響を与える可能性があります。

実際の例を示す前に、まず、ディレクトリファイルに適用されるアクセス許可について理解しましょう。

次の表をご覧になり、手順を続行してください。

オクタル シンボリック パーマ。 ディレクトリ
1 バツ 実行する ディレクトリを入力してファイルにアクセスします
2 w 書く ディレクトリ内のファイルを削除または変更する
4 r 読んだ ディレクトリ内のファイルを一覧表示します

Note−ディレクトリ内の読み取りのためにファイルにアクセスできる必要がある場合、読み取りおよび実行権限を適用するのが一般的です。そうしないと、ユーザーはファイルを操作するのが困難になります。書き込みを無効のままにしおくと、ファイルの名前の変更、削除、コピー、またはアクセス許可の変更を行うことができなくなります。

ディレクトリとファイルへのアクセス許可の適用

権限を適用する場合、理解すべき2つの概念があります-

  • シンボリックパーミッション
  • 8進数のパーミッション

本質的に、それぞれは同じですが、ファイルのアクセス許可を参照および割り当てる方法が異なります。クイックガイドについては、次の表を調べて参照してください。

読んだ 書く 実行する
Octal 4 2 1
Symbolic r w バツ

を使用して権限を割り当てる場合 octalメソッドでは、次のような3バイトの数値を使用します。760。数値760は次のように変換されます。所有者:rwx; グループ:rw; その他(または世界)の権限はありません。

別のシナリオ:733は次のように変換されます。所有者:rwx; グループ:wx; その他:wx。

Octalメソッドを使用する権限には1つの欠点があります。既存の権限セットは変更できません。オブジェクトの権限セット全体を再割り当てすることのみが可能です。

今、あなたは不思議に思うかもしれません、常に許可を再割り当てすることの何が問題になっていますか?実稼働Webサーバー上の/ var / www /などの大きなディレクトリ構造を想像してみてください。その他のすべてのディレクトリのwまたは書き込みビットを再帰的に削除します。したがって、セキュリティ対策に必要な場合にのみ、事前に追加するように強制します。アクセス許可セット全体を再割り当てすると、すべてのサブディレクトリに割り当てられている他のすべてのカスタムアクセス許可が削除されます。

したがって、システムの管理者とユーザーの両方に問題が発生します。ある時点で、1人(または複数の人)は、すべてのディレクトリとオブジェクトにパーミッションセット全体を再割り当てすることによって消去されたすべてのカスタムパーミッションを再割り当てする必要があります。

この場合、シンボリックメソッドを使用してパーミッションを変更する必要があります-

chmod -R o-w /var/www/

上記のコマンドは「アクセス許可を上書き」しませんが、現在のアクセス許可セットを変更します。したがって、ベストプラクティスの使用に慣れてください

  • 権限を割り当てるための8進数のみ
  • 権限セットを変更するための記号

データとオペレーティングシステム全体の整合性にとってアクセス許可は重要であるため、CentOS管理者は8進数記号の両方のアクセス許可に習熟していることが重要です。アクセス許可が正しくない場合、最終的には機密データになり、オペレーティングシステム全体が危険にさらされます。

それをカバーしたので、権限とオブジェクトの所有者/メンバーを変更するためのいくつかのコマンドを見てみましょう-

  • chmod
  • chown
  • chgrp
  • umask

chmod:ファイルモードのアクセス許可ビットを変更します

コマンド アクション
-c 詳細に似ていますが、加えられた変更のみを報告します
-v 詳細、行われたすべての要求の診断を出力します
-R ファイルとディレクトリに操作を再帰的に適用します

chmodを使用すると、8進数または記号のアクセス許可セットを使用してディレクトリとファイルのアクセス許可を変更できます。これを使用して、割り当てを変更し、ディレクトリをアップロードします。

chown:ファイルの所有者とグループを変更する

コマンド アクション
-c 詳細に似ていますが、加えられた変更のみを報告します
-v 詳細、行われたすべての要求の診断を出力します
-R ファイルとディレクトリに操作を再帰的に適用します

chownは、ユーザーとオブジェクトのグループの両方の所有を変更できます。ただし、両方を同時に変更する必要がない限り、通常、グループにはchgrpを使用します。

chgrp:ファイルまたはディレクトリのグループ所有権を変更する

コマンド アクション
-c 詳細に似ていますが、変更のみを報告します
-v 詳細、行われたすべての要求の診断を出力します
-R 再帰的に、ファイルとディレクトリに操作を適用します

chgrpは、グループ所有者を指定された所有者に変更します。

実世界の練習

/ var / www / students /内のすべてのサブディレクトリの割り当てを変更して、所有するグループが学生グループになるようにします。次に、学生のルートを教授グループに割り当てます。その後、テリー・トーマス博士を学生名簿の所有者にします。彼は学校のすべてのコンピュータサイエンス学界を担当する任務を負っているからです。

ご覧のとおり、作成されると、ディレクトリはかなり生のままになります。

[root@centosLocal ~]# ls -ld /var/www/students/ 
drwxr-xr-x. 4 root root 40 Jan  9 22:03 /var/www/students/

[root@centosLocal ~]# ls -l /var/www/students/ 
total 0 
drwxr-xr-x. 2 root root 6 Jan  9 22:03 assignments 
drwxr-xr-x. 2 root root 6 Jan  9 22:03 uploads 

[root@centosLocal ~]#

管理者として、ルート資格情報を誰にも教えたくありません。しかし同時に、ユーザーが自分の仕事を行えるようにする必要があります。それでは、テリー・トーマス博士がファイル構造をより細かく制御し、学生ができることを制限できるようにしましょう。

[root@centosLocal ~]# chown -R drterryt:professors /var/www/students/ 
[root@centosLocal ~]# ls -ld /var/www/students/ 
drwxr-xr-x. 4 drterryt professors 40 Jan  9 22:03 /var/www/students/

[root@centosLocal ~]# ls -ls /var/www/students/ 
total 0 
0 drwxr-xr-x. 2 drterryt professors 6 Jan  9 22:03 assignments 
0 drwxr-xr-x. 2 drterryt professors 6 Jan  9 22:03 uploads

[root@centosLocal ~]#

現在、各ディレクトリとサブディレクトリにはdrterrytの所有者がて、所有するグループは教授です。以来の割り当ての学生がで割り当てられた作業をオンにするためのディレクトリがある、の離れリストおよび変更する機能いきましょうファイルからの学生のグループを。

[root@centosLocal ~]# chgrp students /var/www/students/assignments/ && chmod 
736 /var/www/students/assignments/

[root@centosLocal assignments]# ls -ld /var/www/students/assignments/ 
drwx-wxrw-. 2 drterryt students 44 Jan  9 23:14 /var/www/students/assignments/

[root@centosLocal assignments]#

学生は課題を課題ディレクトリにコピーできます。ただし、ディレクトリの内容を一覧表示したり、現在のファイルをコピーしたり、割り当てディレクトリ内のファイルを変更したりすることはできません。したがって、それは学生が完了した課題を提出することを可能にするだけです。CentOSファイルシステムは、割り当てが提出された日付スタンプを提供します。

割り当てディレクトリの所有者として-

[drterryt@centosLocal assignments]$ whoami 
drterryt

[drterryt@centosLocal assignments]$ ls -ld /var/www/students/assignment 
drwx-wxrw-. 2 drterryt students 44 Jan  9 23:14 /var/www/students/assignments/

[drterryt@centosLocal assignments]$ ls -l /var/www/students/assignments/ 
total 4 
-rw-r--r--. 1 adama  students  0 Jan  9 23:14 myassign.txt 
-rw-r--r--. 1 tammyr students 16 Jan  9 23:18 terryt.txt

[drterryt@centosLocal assignments]$

ディレクトリの所有者は、ファイルを一覧表示したり、ファイルを変更および削除したりできます。

umaskコマンド:作成時にファイルとディレクトリのアクセス許可のデフォルトモードを提供します

umaskは、作成時にファイルとディレクトリのアクセス許可のデフォルトモードを提供する重要なコマンドです。

umaskパーミッションは、単項の否定ロジックを使用します。

許可 操作
0 読み取り、書き込み、実行
1 読み書き
2 読み取りと実行
3 読み取り専用
4 読み取りと実行
5 書き込みのみ
6 実行のみ
7 権限なし
[adama@centosLocal umask_tests]$ ls -l ./ 
-rw-r--r--. 1 adama students 0 Jan 10 00:27 myDir 
-rw-r--r--. 1 adama students 0 Jan 10 00:27 myFile.txt

[adama@centosLocal umask_tests]$ whoami 
adama

[adama@centosLocal umask_tests]$ umask 
0022

[adama@centosLocal umask_tests]$

それでは、現在のユーザーのumaskを変更して、新しいファイルとディレクトリを作成しましょう。

[adama@centosLocal umask_tests]$ umask 077

[adama@centosLocal umask_tests]$ touch mynewfile.txt

[adama@centosLocal umask_tests]$ mkdir myNewDir

[adama@centosLocal umask_tests]$ ls -l 
total 0 
-rw-r--r--. 1 adama students 0 Jan 10 00:27 myDir 
-rw-r--r--. 1 adama students 0 Jan 10 00:27 myFile.txt 
drwx------. 2 adama students 6 Jan 10 00:35 myNewDir 
-rw-------. 1 adama students 0 Jan 10 00:35 mynewfile.txt

ご覧のとおり、新しく作成されたファイルは以前よりも少し制限が厳しくなりました。

ユーザーのumaskは、次のいずれかで変更する必要があります-

  • /etc/profile
  • ~/bashrc
[root@centosLocal centos]# su adama 
[adama@centosLocal centos]$ umask 
0022 
[adama@centosLocal centos]$

通常、CentOSのデフォルトのumaskは問題ありません。デフォルトの0022で問題が発生した場合は、通常、さまざまなグループに属するさまざまな部門がプロジェクトで共同作業を行う必要がある場合です。

ここで、CentOSオペレーティングシステムの運用と設計のバランスをとるために、システム管理者の役割が必要になります。