【Linux】実行権限が「s」SUIDやSGIDとは?

Linux

どーも!marusukeです!

ファイルやディレクトリのアクセス権限の実行権限「s」SUID・SGIDについて説明します!

SUIDやSGIDとは?

SUID(Set User ID):ファイルを実行する際に、所有者の権限で実行するアクセス権限

SGID(Set Group ID):ファイルを実行する際に、グループの権限で実行するアクセス権限

実際に利用されているファイルは、「passwdコマンド」です

passwdファイルのアクセス権限を見てみると、

所有者権限が「rws」となっています。このpasswdファイルはrootユーザが所有者なので、どのユーザが実行しても、rootユーザが実行したことになります

ちなみに所有者権限が「rws」である理由は、passwdコマンドで設定されたパスワードが保存されるファイル「/etc/shadow」が所有者であるrootユーザ以外にアクセス権限がないためです。以下のようなアクセス権限になっています

SUIDやSGIDを設定するコマンド

SUIDやSGIDの設定や解除は、chmodコマンドでできます

SUIDやSGIDの設定方法

SUIDを設定する場合

chmod u+s ファイル名
あるいは
chmod +4000 ファイル名

SGIDを設定する場合

chmod g+s ファイル名
あるいは
chmod +2000 ファイル名

SUIDやSGIDの解除方法

SUIDを解除する場合

chmod u-s ファイル名
あるいは
chmod -4000 ファイル名

SGIDを解除する場合

chmod g-s ファイル名
あるいは
chmod -2000 ファイル名

以上となります!

ここまで読んでいただきありがとうございました!

コメント

タイトルとURLをコピーしました