SUID 【setuid】 Set User ID
概要
SUID(setuid)とは、UNIX系OSのファイルシステムでプログラムファイルに設定できる特殊なアクセス権の一つで、プログラムを誰が実行しても指定したユーザーの権限によって実行するよう指示するもの。LinuxなどのUNIX系OSではファイルやディレクトリに「パーミッション」(permission)というアクセス許諾情報を設定することができるが、SUIDはパーミッションに付帯する特殊なフラグの一つである。
SUIDが有効に設定された実行ファイルでは、どのユーザーが起動してもファイルの所有者の権限で実行される。これにより、一般ユーザーが特定のコマンドをroot権限で実行するといった設定にすることができる。
SUIDの設定は、chmodコマンドでパーミッションの数値表記に「4000」を加えるか、文字表記で「u+s」を指定することで有効にすることができる。無効にするには「4000」を引くか、「u-s」を指定すればよい。似た機能として特定のグループIDで実行できるようにする「SGID」(setgid)がある。
(2023.10.23更新)