序文 Linux のファイルまたはディレクトリの権限については、共通の rwx 権限を知っておく必要があります。 Linuxの権限はあまり詳細ではなく、RWXの3種類しかありません。
1. ディレクトリへの読み取り専用アクセスでは、cd を使用してディレクトリに入ることはできません。入るには実行権限が必要です。 2. 実行権限のみではディレクトリに入ることはできますが、ディレクトリの内容を見ることはできません。ディレクトリ下のファイル名やディレクトリ名を見るには、読み取り権限が必要です。 3. ファイルを削除できるかどうかは、主に、ファイルが保存されているディレクトリにユーザーの書き込み権限があるかどうかによって決まります。ディレクトリにユーザーの書き込み権限がない場合、ファイルの所有者を除いて、ディレクトリ内のすべてのファイルを削除することはできません。 4. ディレクトリの w ビットが設定されていません。ディレクトリ内のファイルに対して w 権限を持っていても、ファイルに書き込むことはできません。 まず、次の2つの権限が何であるかを見てみましょう /tmp ディレクトリと passwd ファイルの権限が非常に奇妙であることは非常に奇妙です。なぜ s 権限と t 権限があるのでしょうか?以下の内容を読めば理解できるでしょう。 1 スイド s がファイル所有者の x 権限 (上記で見たファイル /usr/bin/passwd の権限 -rwsr-xr-x など) に表示される場合、それは SET UID と呼ばれ、SUID と略されます。SUID にはファイルに対してどのような制限と機能がありますか? SUID権限はバイナリ実行ファイルに対してのみ有効です 実行者はファイルに対してx権限を持っています この権限はこのファイルの実行中のみ有効です 実行者はファイル所有者の権限を持ちます。 たとえば、一般ユーザーが passwd コマンドを使用して自分のコマンドを変更する場合、実際に変更されるファイルは /etc/passwd ファイルです。このファイルはユーザー管理設定ファイルであり、root 権限でのみ変更できます。 この権限を持つのは root ユーザーだけなのに、なぜ passwd コマンドでパスワードを変更できるのでしょうか? これは、passwd に suid 権限ビットが設定されているためです。 このとき、一般ユーザーは passwd コマンドを実行して一時的に root 権限を取得し、間接的に /etc/passwd を変更して自分のパスワードを変更する権限を得ることができます。 2 SGID ディレクトリまたはファイルが属するグループの x 権限に s が表示される場合、それは SET GID、または略して SGID と呼ばれます。SGID はファイルとディレクトリの分割に対してどのような機能を持っていますか? 2.1 SGIDディレクトリ ユーザーがこのディレクトリに対してrとxの権限を持っている場合、ユーザーはこのディレクトリに入ることができます。 このディレクトリ内のユーザーのグループはディレクトリのグループになります ユーザーがこのディレクトリで w 権限 (新しいファイルを作成できる) を持っている場合、ユーザーが作成した新しいファイルのグループは、このディレクトリのグループと同じになります。 2.2 SGIDペアファイル SGIDはバイナリ実行ファイルに有効です プログラム実行者はファイルに対して x 権限を持っている必要があります。 実行者は実行プロセス中にファイル グループのサポートを取得します (ファイル グループの権限を変更するために使用されます) 3 スビット ディレクトリ内の他のユーザーの x 権限に s が表示される場合、それは Sticky Bit、または略して SBIT と呼ばれます。 SBIT の制限と機能は何ですか? ファイルではなくディレクトリに対してのみ有効です。 ユーザーがこのディレクトリにファイルまたはディレクトリを作成すると (権限あり)、その新しく作成されたディレクトリまたはファイルを削除する権限を持つのは、ユーザーと root のみになります。 /tmp ディレクトリにはそのような権限があることがわかっています。 それでは検証してみましょう。まず、root アカウントを使用して tmp ファイルにファイル test を作成し、次に openstack (他のアカウント) を使用してディレクトリに入り、テスト ファイルを削除して、何が起こるかを確認します。 この方法ではファイルを削除できないことがわかります。 /temp ディレクトリには SBIT 権限があるためです。 4 SUID、SBID、SBITの操作方法 これらのフラグを操作するコマンドは、ファイル権限を操作するコマンドと同じで、どちらも chmod です。これを行うには 2 つの方法があります。 (1)シンボル種別変更許可 chmod u+s testbin-- testbin ファイルに setuid フラグを追加します。 chmod g+s testdir-- testdirディレクトリにsetgidフラグを追加します chmod o+t testdir-- testdirディレクトリにスティッキーフラグを追加します (2)デジタルタイプはファイルの権限を変更する 8 進数を使用します。一般的なファイルの場合、666、777、644 などの 3 つの 8 進数グループを使用してフラグを設定します。これらの特別なフラグを設定する場合は、この数字のグループに別の 8 進数グループを追加します。たとえば、4666、2777 などです。3 つの 8 進数の意味は次のとおりです。 アブ a - setuid ビット、このビットが 1 の場合、setuid 4 を意味します --- b - setgid ビット、このビットが 1 の場合、setgid 2 を意味します --- c - スティッキービット、このビットが1の場合、スティッキー1を設定することを意味します--- これらのフラグを設定したら、ls -l を使用して表示できます。これらのフラグが存在する場合は、元の実行フラグの位置に表示されます。たとえば、 rwsrw-r--はsetuidフラグを示します rwxrwsrw-はsetgidフラグがあることを示します rwxrw-rwt はスティッキーフラグを示します では、元の実行フラグ x はどこに行ったのでしょうか。システムでは、その位置に x があった場合、これらの特殊フラグは小文字 (s、s、t) で表示されるように規定されています。それ以外の場合は、大文字 (S、S、T) で表示されます。 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
>>: MySQL 分離レベル操作プロセスの詳細説明 (cmd)
序文nginx はマルチプロセス モデルを使用します。リクエストが届くと、システムはプロセスをロック...
Elasticsearch 6.8 以降、無料ユーザーは X-Pack のセキュリティ機能を使用でき...
目次必要:アイデア:レッスン:テキストを共有する:要約する必要:インターフェイスからサブメニュー デ...
知らせ! ! ! uid が (a,b,c,null) に含まれないユーザーから * を選択します。...
目次1. スコープはさまざまな方法で表現されます2. 変動昇進と非昇進の違い3. 一時的なデッドゾー...
1: スループット(1秒あたりのリクエスト数)サーバーの同時処理能力を定量的に表したもので、reqs...
目次1. デジタルオペレーション(1)指定された範囲内で乱数を生成する2. 配列操作(1)配列の順序...
目次配列の紹介配列リテラル2次元配列要約する配列の紹介配列- Arrayもオブジェクトですこれは通常...
Code Cloud を使用して Git コード ストレージ ウェアハウスを構築するhttps://...
序文この記事には1. データベースのいくつかの主要な制約2. テーブル間の関係制約:主キー制約: 機...
インデックスにクエリする必要があるすべてのフィールドの値が含まれている(またはカバーしている)場合、...
たとえば、<u>には終了文字がなく、ブラウザはそれを認識します。 SHTML は Ser...
以前、MySQL クエリ文の実行プロセスについての記事がありました。ここでは、更新文の実行プロセスを...
使用状態useState は、関数コンポーネント内で呼び出すことで、コンポーネントに内部状態を追加し...
1. 一般的に、CentOS では mariadb がデフォルトでインストールされているため、まず ...