- - PR -
chpasswdコマンドのsetuidについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2002-08-14 10:39
森蔵です。
掲示板のスレッドにもある通り、最近sudo周りを調べてたんですが以下の事が疑問です。 パスワード変更用のコマンドがあると思いますが、FreeBSDのコマンドには、setuid されており、Linuxのコマンドには、setuidされてません。 これはどう言う事なんでしょう?どちらが正しんでしょうか? chpasswdにsetuidしたいんですが、やはり良くないような気がして...。 御意見お待ちしています。 ■Linux chpasswd -rwxr-xr-x 1 root root 20812 8月 28 2001 /usr/sbin/chpasswd ■FreeBSD chpass:FreeBSD -r-sr-xr-x 6 root wheel 32280 Apr 21 2001 /usr/bin/chpass 以上 | ||||
|
投稿日時: 2002-08-14 12:19
root に setuid されているということは、
あらゆるユーザが、そのコマンドを実行している間、root 権限を持つということです。 それはできるだけしたくないですよね。 そのコマンドのバグをついて root 権限を奪われる可能性があります。 httpd、ftpd を root で実行しちゃダメ、というのも同様の理由です。 できるだけ setuid はしないに越したことはありません。 sudo の場合は、 「あるユーザ、あるグループに限り、あるコマンドを、 (そのユーザのパスワードを使って=rootのパスワードを知らなくても) root 権限で実行できる」 ため、重宝します。 さて、chpasswd のお話ですが、chpasswd に root 権限が必要な理由はなんでしょうか。 1. アクセスに root 権限が必要な資源を使っている 2. 自分以外のユーザのパスワードを変えたい これのどちらかでしょう。 ふつうは、「あらゆるユーザに、別のユーザのパスワードを変えうる権限をあたえたい」 とは思わないでしょうから、2. のために suid するのは非常に具合が悪い。 なんとかして suid せずに 1. をクリアできればいいわけで、 Linux の(というか shadow-utils の) chpasswd はクリアしてるから suid の必要がないのです。 # 似たような話は、X や kterm などにもありましたね。 | ||||
|
投稿日時: 2002-08-14 12:29
しょむさんのおっしゃる通りですので、付け足すことはないのですが、興味があればPAMのことも調べてみてはどうですか?
http://www.linux.or.jp/JF/JFdocs/User-Authentication-HOWTO/index.html 本当に知りたいのはこの辺ではありませんか? FreeBSDでもXはXWrapperから起動しますし、確かに多いですね。ずれてきたのでこの辺で。 | ||||
|
投稿日時: 2002-08-14 15:24
森蔵です。
いろいろとありがとうございます。ユーザ権限については悩む事が多いですね。 sudoを使おうと思った折りに、USER_ALIASを使って複数のユーザに対して 許可する事は分かったんですが、登録するユーザが増えてくると、管理が 大変になるため、困っていたのです。(グループで与えたいんですが、 調べ方が悪いのか、項目がみあたりません) そこで、setuidにたどり着いたというわけです。となるとBSDと比べると 設定が違っている気がして質問してみました。 やはり具合がわるそうなので、方法を考えねばですね。 ありがとうございました。 | ||||
|
投稿日時: 2002-08-14 15:48
こんにちは、藤井と申します。
man sudoers をどうぞ。 | ||||
|
投稿日時: 2002-08-20 16:24
[ メッセージ編集済み 編集者: 隼 編集日時 2002-10-02 08:44 ] [ メッセージ編集済み 編集者: 隼 編集日時 2003-01-21 09:29 ] |
1