Linuxファイル権限の設定ユーザIDと設定グループID(SUIDとSGID)

1289 ワード

Linuxのファイル権限はr、w、xだけでなく、システムのアカウントとプロセスに関連するsとtの2つの比較的特殊な権限ビットも含まれています.
sは、ファイル所有者のx権限ビットに表示されてもよいし、ファイルが属するグループのx権限ビットに表示されてもよい.前者はSet UID,すなわちSUID,後者はSet GID,すなわちSGIDである.
SUID権限には、次のような機能があります.
  • SUIDはバイナリプログラムに対してのみ有効である
  • 実行者は、このプログラムに対してxの実行可能権限を有する
  • .
  • 実行権限は、プログラムの実行中にのみ有効である
  • .
  • 実行者は、プログラム所有者の権限
  • を有する.
    たとえばsuコマンドでは、その権限は「-rwsr-xr-x」であり、誰が実行してもroot権限があります.その権限は所有者がrootユーザーであるためですが、この権限は実行したsuコマンドでのみ有効です.これもsuコマンドがユーザ権限を切り替えることができる実現原理である.SUIDはLinuxシステムでは非常に一般的で、一般ユーザーに提供する必要がありますが、root権限が必要で正しく実行できるプログラムは基本的にpasswd、mountなどのコマンドを持っています.
    SGID権限の機能は次のとおりです.
  • SGIDはバイナリプログラムに対してのみ有効である
  • 実行者は、このプログラムに対してxの実行可能権限を有する
  • .
  • 実行者は、実行中にプログラムが属するユーザグループのサポート
  • を取得する.
    SGIDがディレクトリに使用される場合、以下の機能があります.
  • ユーザがこのディレクトリに対してrとxの権限を持つ場合、そのユーザはこのディレクトリ
  • に入ることができる.
  • 当該ユーザのこのディレクトリの上下の有効なユーザグループは、当該ディレクトリのユーザグループ
  • となる.
  • ユーザがこのディレクトリの下でwの権限を有する場合、ユーザが作成する新しいファイルのユーザグループは、このディレクトリのユーザグループと同じ
  • である.
    ファイル所有者とユーザグループのx権限ビットはsであり、対応する他のユーザの権限ビットはtである.t権限の名称はSticky Bit(粘着ビット)であり、SBITと略称され、ディレクトリにのみ有効であり、その機能は以下の通りである.
  • ユーザがこのディレクトリにwとxの権限を持つと、書き込みの権限
  • を持つ.
  • ユーザーがこのディレクトリの下にファイルまたはディレクトリを作成すると、自分とrootだけがファイル
  • を削除する権利がある.
    典型的な例は/tmpディレクトリであり、このディレクトリは任意のユーザーがファイルを作成できるが、他の人に削除されないようにSBIT権限を設定している.