スポンサーリンク

このドキュメントの内容は、以下の通りです。

SUID とはなにか?


SUID (Set User ID) は、実行ファイルに設定される属性です。

コマンドは、コマンドを実行したユーザの権限で動作します。
ファイルにSUID が設定されている場合、コマンドは、コマンドのオーナの権限で動作します。

passwd コマンドを例にあげます。

FreeBSD の場合、passwd コマンドは、 /etc/master.passwd を
書き換えます。
/etc/master.passwd のパーティションは、以下のとおりです。

kaworu% ls -l /etc/*passwd
-rw-------  1 root  wheel  2313  2 20 22:43 /etc/master.passwd
-rw-r--r--  1 root  wheel  2080  2 20 22:43 /etc/passwd

root user しか、読み書きすることができません。

しかし、 /usr/bin/passwd コマンドを利用することで、
root 権限を持たない一般 user でもパスワードを変更することが
可能です。

そこで、SUIDの出番です。
一般 user が passwd コマンドを実行したときに、
root 権限で実行されるように、 /usr/bin/passwd に SUID を与え、
/usr/bin/passwd のオーナを root user にすることにより、
どの user が /usr/bin/passwd コマンドを実行しても、
root 権限で実行されるようになります。

kaworu% ls -l /usr/bin/passwd /bin/ls
-r-xr-xr-x  1 root  wheel  27256 11 21  2009 /bin/ls*
-r-sr-xr-x  2 root  wheel   6128 11 21  2009 /usr/bin/passwd*

passwd のオーナのexecute bitがsになっています。
ls の execute bit は、x です。

passwd コマンドを実行したまま、 ps で passwd の user を
調べてみます。
kaworu% /usr/bin/passwd

root user で実行されているのがわかります。

kaworu% ps axuw | fgrep passwd
root       16620  0.0  0.0  3684  1468  18  S+   12:58午前   0:00.00 /usr/bin/passwd

SUID の設定


SUID は、 chmod コマンドで設定できます。
http://kaworu.jpn.org/doc/FreeBSD/jman/man1/chmod.1.php

chmod u+s command

chmod 4755 command

これに関連し、SGID や Stricky があります。

スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー