SGID 【setgid】 Set Group ID

概要

SGID(setgid)とは、UNIX系OSのファイルシステムでプログラムファイルに設定できる特殊なアクセス権の一つで、プログラムを誰が実行しても指定したグループの権限によって実行するよう指示するもの。

LinuxなどのUNIX系OSでは、ファイルやディレクトリに「パーミッション」(permission)というアクセス許諾情報を設定することができるが、SGIDはパーミッションに付帯する特殊なフラグの一つである。

SGIDが有効に設定された実行ファイルは、どのユーザーが起動しても指定されたグループの権限で実行される。これにより、一般ユーザーが特定のコマンドを管理者グループの権限で実行するといった設定にすることができる。ディレクトリにSGIDを設定すると、その内部で作成されたファイルは自動的に当該SGID設定が有効となる。

SGIDの設定は、chmodコマンドパーミッションの数値表記に「2000」を加えるか、文字表記で「g+s」を指定することで有効にすることができる。無効にするには「2000」を引くか、「g-s」を指定すればよい。似た機能として、特定のユーザーで実行できるようにする「SUID」(setuid)がある。

(2024.7.3更新)