LinuCレベル1 Version 4.0 101試験の例題と解説
104.5 ファイルのパーミッションと所有者を管理する
今回は101試験の試験範囲から「104.5 ファイルのパーミッションと所有者を管理する」についての例題を解いてみます。
■例題
SUIDの説明として誤っているものを選びなさい
1. SUIDが設定されたプログラムを実行した場合、ファイルの所有者の権限で実行される
2. SUIDを設定するには、chmodコマンドを使用する
3. シェルスクリプトファイルの場合、設定されたSUIDは作用しない
4. SUIDが設定されたファイルのユーザーのパーミッションはrwxと表示される
※この例題は実際のLinuC試験とは異なります。
解答と解説
答えは「4. SUIDが設定されたファイルのユーザーのパーミッションはrwxと表示される」 です。
通常、実行ファイルを実行すると、そのファイルを実行したユーザーの権限で実行されますが、SUIDが設定された実行ファイルでは、そのファイルの所有者の権限で実行されます。
passwdコマンドを一般ユーザーで実行した場合でも、rootでしか書き換えられない/etc/shadowファイルが変更されます。
それは、passwdコマンドの所有者がrootで、SUIDの設定がされているためです。
SUIDは、chmodコマンドで、3桁のアクセス権表記に「4000」を加える、もしくはu+sを指定することで設定することができます。
passwdコマンドを一般ユーザーで実行した場合でも、rootでしか書き換えられない/etc/shadowファイルが変更されます。
それは、passwdコマンドの所有者がrootで、SUIDの設定がされているためです。
SUIDは、chmodコマンドで、3桁のアクセス権表記に「4000」を加える、もしくはu+sを指定することで設定することができます。
SUIDが設定されたファイルのユーザーのパーミッションはrwsと表示されます。
パーミッションの出力例は以下です。
$ ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 1月 1 00:00 2015 /usr/bin/passwd
そのため、「4. SUIDが設定されたファイルのユーザーのパーミッションはrwxと表示される」が誤りとなります。
また、シェルスクリプトファイルの場合、悪意あるユーザーがSUIDが設定されたシェルスクリプトファイルを利用して特権を得るなどのセキュリティ上の危険性が高くなるため、SUIDを設定することはできますが、作用しないようになっています。
◆例題作成者
株式会社デージーネット システム設計部 森 彰吾 氏 株式会社デージーネット ソリューション開発部 丸吉祐也 氏