- PR -

chpasswdコマンドのsetuidについて

1
投稿者投稿内容
森蔵
大ベテラン
会議室デビュー日: 2001/08/10
投稿数: 158
お住まい・勤務地: 大阪
投稿日時: 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

    以上
しょむ
ぬし
会議室デビュー日: 2001/09/06
投稿数: 430
投稿日時: 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/05/07
投稿数: 123
お住まい・勤務地: 東京
投稿日時: 2002-08-14 12:29
しょむさんのおっしゃる通りですので、付け足すことはないのですが、興味があればPAMのことも調べてみてはどうですか?

http://www.linux.or.jp/JF/JFdocs/User-Authentication-HOWTO/index.html

本当に知りたいのはこの辺ではありませんか?

FreeBSDでもXはXWrapperから起動しますし、確かに多いですね。ずれてきたのでこの辺で。
森蔵
大ベテラン
会議室デビュー日: 2001/08/10
投稿数: 158
お住まい・勤務地: 大阪
投稿日時: 2002-08-14 15:24
森蔵です。

いろいろとありがとうございます。ユーザ権限については悩む事が多いですね。

sudoを使おうと思った折りに、USER_ALIASを使って複数のユーザに対して
許可する事は分かったんですが、登録するユーザが増えてくると、管理が
大変になるため、困っていたのです。(グループで与えたいんですが、
調べ方が悪いのか、項目がみあたりません)

そこで、setuidにたどり着いたというわけです。となるとBSDと比べると
設定が違っている気がして質問してみました。

やはり具合がわるそうなので、方法を考えねばですね。

ありがとうございました。
ふじい
大ベテラン
会議室デビュー日: 2002/05/07
投稿数: 123
お住まい・勤務地: 東京
投稿日時: 2002-08-14 15:48
こんにちは、藤井と申します。

引用:

森蔵さんの書き込み (2002-08-14 15:24) より:

sudoを使おうと思った折りに、USER_ALIASを使って複数のユーザに対して
許可する事は分かったんですが、登録するユーザが増えてくると、管理が
大変になるため、困っていたのです。(グループで与えたいんですが、
調べ方が悪いのか、項目がみあたりません)



man sudoers をどうぞ。
会議室デビュー日: 2002/08/20
投稿数: 1
投稿日時: 2002-08-20 16:24

[ メッセージ編集済み 編集者: 隼 編集日時 2002-10-02 08:44 ]

[ メッセージ編集済み 編集者: 隼 編集日時 2003-01-21 09:29 ]
1

スキルアップ/キャリアアップ(JOB@IT)