基本的な権限
1. 権威の概念
権限は、何らかの自然なプロパティを持たないオブジェクトへのアクセスを制限するために使用されます。つまり、許可 = 人 + 物の属性
2. Linux でのユーザーの分類
Linux では、root ユーザー (スーパー ユーザー)、一般ユーザーの 2 種類のユーザーが存在します。
- パワーユーザー: Linux 上で何でもできる
- 一般ユーザー: Linux でできることは限られています
- スーパーユーザーのコマンドプロンプトは「#」、一般ユーザーのコマンドプロンプトは「$」です。
2.1. ユーザーを切り替えるにはどうすればよいですか?
3.Linuxの権限管理
3.1. ファイル訪問者(人)の分類
- ファイルとファイル ディレクトリの所有者: u -- ユーザー
- ファイルおよびファイル ディレクトリの所有者が属するグループのユーザー: g——group
- 他のユーザー: o——その他
なぜ所属グループという概念があるのか:
回答: 会社ではプロジェクトを複数のグループに分けて取り組むことがあり、一人で書いたファイルは自分で読むこともできますが、メンバーに見せる必要があるためです。グループのメンバーではありますが、部外者にはそうではありません。所属するグループの概念がない場合は、ファイルのアクセス許可を他のユーザーに公開すると、グループ内のメンバーだけでなく、グループ外のメンバーもそのファイルを見ることができます。
3.2. ファイルの種類とアクセス権(ファイルのプロパティ)
3.2.1. ファイルの種類
3.2.2. 基本的な権限
- Read (r/4): ファイルの場合、Read にはファイルの内容を読み取る権限があり、ディレクトリの場合、ディレクトリ情報を参照する権限があります。
- 書き込み (w/2): ファイルの場合、書き込みはファイルの内容を変更する権限を持ち、ディレクトリの場合、移動されたディレクトリ内のファイルを削除する権限を持ちます。
- Execute (x/1): ファイルの場合、execute にはファイルを実行する権限があり、ディレクトリの場合、ディレクトリに入る権限があります。
- 「—」は、この権限がないことを示します
3.3. ファイルパーミッション値の表現方法
3.3.1. 文字表現
3.3.2. 8 進数値表現
3.3.3. ファイルのパーミッションの記述方法
所有者: 読み取り権限の有無 + 書き込み権限の有無 + 実行権の有無
3.4. ファイルアクセス権限の関連設定方法
3.4.1. ファイル権限の変更 (ファイル属性)
コマンド:chmod
機能:ファイルのアクセス権限を設定
書式:chmod [パラメータ] 権限ファイル名
共通オプション:
- R -> ディレクトリファイルのアクセス許可を再帰的に変更します
- 注: ファイルの所有者とルートのみがファイルの権限を変更できます。
3.4.2. ファイルの所有者の変更
3.4.3. ファイルが属するグループを変更する
3.5. デフォルトの権限
3.5.1. umaskコマンド
機能:
ファイルマスクの表示または変更
新しいフォルダーのデフォルトのアクセス許可 = 0666
新しいディレクトリのデフォルトのアクセス許可 = 0777
しかし、実際には、表示されるアクセス許可は、作成したファイルやディレクトリの上記の値ではないことがよくあります。その理由は、ファイルまたはディレクトリを作成するときに、
umask の影響も受けるからです。デフォルトの権限がマスクであると仮定すると、実際に作成されるファイルの権限は次のようになります:mask & ~umask
形式: umask パーミッション値の
説明: 既存のアクセスパーミッションからパーミッションマスクを減算し、ファイル作成時のデフォルトのパーミッションを生成できます。デフォルトのマスク値は、スーパー ユーザーの場合は 0022、一般ユーザーの場合は 0002 です。
3.5.2. ファイルコマンド
3.6. ディレクトリの権限
- 実行可能権限: ディレクトリに実行可能権限がない場合、ディレクトリに cd でアクセスすることはできません。
- 読み取り権限: ディレクトリに読み取り権限がない場合、ls などのコマンドを使用してディレクトリ内のファイルの内容を表示することはできません。
- 書き込み権限: ディレクトリに書き込み権限がない場合、ディレクトリ内にファイルを作成したり、ディレクトリ内のファイルを削除したりすることはできません。
ここで問題が発生します~~
つまり、ユーザーがディレクトリへの書き込み権限を持っている限り、ユーザーがファイルへの書き込み権限を持っているかどうかに関係なく、ユーザーはディレクトリ内のファイルを削除できます。この非科学的な
問題を解決するために、Linux はスティッキー ビットの概念を導入しました。
3.7. スティッキービット
ディレクトリが「スティッキー ビット」に設定されている場合 (chmod +t を使用)、このディレクトリ内のファイルには次のユーザーのみがアクセスできます。
- スーパー管理者の削除
- ディレクトリの所有者が削除します
- ファイルの所有者が削除する