ホームページ  >  記事  >  運用・保守  >  Linux にはどのような権限がありますか?

Linux にはどのような権限がありますか?

青灯夜游
青灯夜游オリジナル
2022-07-19 18:24:1511069ブラウズ

Linux では、s は「強制ビット アクセス許可」を指し、ユーザーまたはグループのアクセス許可グループの 3 番目の位置にあります。ユーザー権限グループに s ビットが設定されている場合、ファイルが実行されると、ファイルはユーザー UID ではなくファイル所有者 UID を使用してプログラムを実行します。グループ権限グループに s ビットが設定されている場合、ファイルは実行された場合、ファイルはユーザー GID ではなくファイル所有者 GID を使用して実行されます。 s 許可ビットは機密性の高い許可ビットであり、システム セキュリティの問題を簡単に引き起こす可能性があります。

Linux にはどのような権限がありますか?

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

Linux システムで最も一般的なファイル アクセス許可は、w、r、および x で、それぞれ書き込み、読み取り、および実行アクセス許可に対応します。ただし、さらに、Linux は、次のような別の一連のアクセス許可設定もサポートしています。 s 権限。 、t 権限。以下に、権限の具体的な意味を紹介します。

s 権限

s。これは、UID または GID を設定することを意味します。ユーザーまたはグループの権限グループの 3 番目の位置にあります。ユーザー権限グループに s ビットが設定されている場合、ファイルが実行されると、ファイルはユーザー UID ではなくファイル所有者 UID を使用してプログラムを実行します。グループ許可グループに s ビットが設定されている場合、ファイルが実行されると、ファイルはユーザー GID ではなくファイル所有者 GID を使用してプログラムを実行します。 s 許可ビットは機密性の高い許可ビットであり、システム セキュリティの問題を簡単に引き起こす可能性があります。セットアップするときは注意し、すでにシステム上にある SUID または SGID のファイルとディレクトリに注意してください。

s 権限には、S_ISUID と S_ISGID という 2 つの定数が含まれており、これは 強制ビット権限 と呼ばれます。

S_ISUID はバイナリ実行可能ファイル*;

# にのみ適用できます。 ##S_ISGID はバイナリ実行可能ファイル* とディレクトリに適用できますが、

*シェル スクリプトはバイナリ ファイルではないため、適用できません。

S_ISUID と S_ISGID が使用されますバイナリ ファイルの場合:

    #S_ISUID が true の場合、このプロセスの実効ユーザー ID をこのファイルの所有者のユーザー ID に設定します。
  • #S_ISGID が true の場合、このプロセスの実効ユーザー グループ ID をこのファイルのグループ ID に設定します。
  • プロセスにはファイル アクセス許可に影響するユーザー/グループ ID があるため、 , then ファイル所有者の ID を一時的に所有することと同等です。典型的なファイルは passwd です。一般ユーザーがファイルを実行すると、実行プロセス中にファイルは root 権限を取得できるため、ユーザーのパスワードを変更できます。

S_ISGID ディレクトリで使用する場合:

現在のユーザーが chdir を実行してディレクトリに切り替えた後、ユーザー プロセスの実効ユーザー グループ ID (実効グループ) は、次のユーザー グループに設定されます。ユーザーがこのディレクトリに対する w 権限を持っている場合、ユーザー プロセスによって作成された新しいファイルのユーザー グループ ID は、ディレクトリのユーザー グループ ID と同じになります。 2 つの定数のうち、

oct#40002048S_ISGID20001024## はそれぞれ 12 ビット目と 11 ビット目のマスクです。 #########使い方? 文字モードで権限を設定できます: chmod a s filename
dec S_ISUID## は次のとおりです。
、または絶対モードを使用して設定できます:

Set suid : 対応する許可ビットの前のビットを 4 に設定します;

Set guid: 対応する許可ビットの前のビットを 2 に設定します;

  • 両方を設定します: 対応する許可ビットの前のビットを 4 2=6 に設定します。

  • ファイル所有者 UID ID で実行するようにファイルを設定します:

    ls -al /usr/bin/passwd
    -rwsr-xr-x 1 pythontab pythontab 32988 2018-03-16 14:25 /usr/bin/passwd

    Set実行時にファイル所有者の GID を使用してファイルの ID を設定します:
  • chmod 4755 test
  • 実行時に上記の両方を使用してファイルの ID を設定します:

    chmod 2755 test

    注: s 権限を設定する場合、ファイル所有者とグループは最初に対応する x 権限を設定する必要があります。そうしないと、s 権限は実際には有効になりません (ch mod コマンドは必要な整合性チェックを実行しません。x 権限を設定せずに s 権限が設定されていても、chmod はレポートを行いません)エラーです。ls -l を実行すると、rwS が表示されます。大文字の S は、s 権限が有効ではないことを示します)

概要

実行可能ファイルには、この権限を取得すると、権限を取得し、ファイルの所有者が使用できるすべてのシステム リソースに任意にアクセスできます。 SUID 権限を持つファイルに注意してください。ハッカーは、この権限を使用して、ルート アカウントの所有者と SUID を照合し、今後のアクセスのためにシステム内のバックドアをサイレントに開きます。

関連する推奨事項: 「

Linux ビデオ チュートリアル

以上がLinux にはどのような権限がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。