0
0

More than 1 year has passed since last update.

suid sgid スティッキービットをファイルに設定する方法

Posted at

suidとは

  • Set User IDの略
  • 一時的に別のUIDのユーザに変更できる機能のこと
  • 実行ファイルに設定する事で、そのプログラムをどのユーザが実行しても、プログラムの所有ユーザの権限で実行することができたりする
  • これが設定された代表的なプログラムに「passwd」コマンドがあります

設定方法

  • 設定はchmodコマンドで、通常のパーミッションの値に4000を加えた値を設定するか、所有ユーザに「s」という権限を追加します(u+s)。
  • 追加した場合、所有者の実行権限が x→s に変化します。
$ls -l 
-rwxr-xr-x user group       9  1月 1 00:00 hoge.txt

$chmod 4755 hoge.txt

$ls -l
-rwsr-xr-x user group       9  1月 1 00:00 hoge.txt
$ls -l 
-rwxr-xr-x user group       9  1月 1 00:00 hoge.txt

$chmod u+s hoge.txt

$ls -l
-rwsr-xr-x user group       9  1月 1 00:00 hoge.txt

guidとは

  • SUIDは所有者の権限で動作するのに対して、SGIDはグループの権限で動作します。
  • SUIDの場合は、 所有者の実行権限が「s」となるが、SGIDではグループの実行権限が「s」となります。

    設定方法

  • 設定はchmodコマンドで、通常のパーミッションの値に2000を加えた値を設定するか、グループに「s」という権限を追加します(u+s)。

  • 追加した場合、グループの実行権限が x→s に変化します。

$ls -l 
-rwxr-xr-x user group       9  1月 1 00:00 hoge.txt

$chmod 2755 hoge.txt

$ls -l
-rwxr-sr-x user group       9  1月 1 00:00 hoge.txt
$ls -l 
-rwxr-xr-x user group       9  1月 1 00:00 hoge.txt

$chmod g+s hoge.txt

$ls -l
-rwxr-sr-x user group       9  1月 1 00:00 hoge.txt

スティッキービットとは

  • ディレクトリに設定します
  • スティッキービット(Sticky bit)が設定されたディレクトリ以下のファイルとディレクトリは、実際に設定したアクセス権に関係なく、所有者とrootユーザのみが名前の変更と削除を行えます
  • 使用されるケースは「全ユーザーがファイルを作成できるが作成したファイルを他人がファイル名の変更や削除をできないようにしたい」場合です。
  • /tmpに、スティッキービットが使われています

設定方法

  • 設定はchmodコマンドで、通常のパーミッションの値に1000を加えた値を設定するか、その他のユーザーに「t」という権限を追加します(o+t)。
  • 追加した場合、その他のユーザーの実行権限が x→t に変化します。
$ls -l /hoge/hoge.txt
-rwxr-xr-x user group       9  1月 1 00:00 hoge.txt

$chmod 1755 hoge

$ls -l /hoge/hoge.txt
-rwxr-xr-t user group       9  1月 1 00:00 hoge.txt
$ls -l /hoge/hoge.txt
-rwxr-xr-x user group       9  1月 1 00:00 hoge.txt

$chmod o+t hoge

$ls -l
-rwxr-xr-t user group       9  1月 1 00:00 hoge.txt
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0