- - PR -
rootでないアカウントでアップしたのに、whoamiで、rootと表示される。
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-05-15 18:46
rootでないアカウントでFTPアップロードしたのに、
次のCGIを実行すると、通常なら、nobody、ないし、apacheと表示されるところ、 root と表示されてしまいます。 ↓問題の自分自身のアカウントを表示するCGI ------------------------------------------ #!/usr/bin/perl $ENV{'PATH'} = "/usr/bin:/usr/sbin:/bin:/sbin"; print "Content-type: text/html\n\n"; $resp = `whoami`; print "<h1>$resp</h1>"; ------------------------------------------ FTPの画面では、当該rootでないアップしたユーザーのユーザー番号500が所有者として表示されています。 redhat9のapacheそのままなので、suEXECのアパッチにはなっていないはずです。 httpd.confは、次のようになっており、 User apache Group apache /etc/passwdは、 apache:x:48:48:Apache:/var/www:/sbin/nologin /etc/groupは、 apache:x:48: アップしたのは、まさに、上記のCGIであり#!/usr/bin/suidperlとはしていません。 なお、redhat9がインストールされているほぼ同じ設定のパソコンが、二つ、本番稼動用のものと、テスト開発用のものがあり、ほぼ同様の設定なのですが、この現象は、テスト開発用のパソコンでのみ起こっていることがわかりました。 稼動中のパソコンでは、ほぼ同じ設定で、rootではなく、正常に、apacheと表示されます。 思い当たる違いは、テスト開発用のパソコンには、redhat9に入っている、suidperl(perl-suidperl-5.8.0-88)がインストールしてあるということです。 どなたか、redhat9に含まれるこのsuidperl(perl-suidperl-5.8.0-88)をインストールしたときに、同じ現象になった方、あるいは、インストールしても正常だった方がいらっしゃいましたら、是非、この続きに投稿願います。 |
|
投稿日時: 2004-05-16 10:45
こんにちは〜。
同じ環境を持ち合わせてはいないのですが。 テスト開発用 PC に一般ユーザでログインし、 $ whoami したらどうなりますか? |
|
投稿日時: 2004-05-17 13:14
コンソールからは正常に
$ whoami my_name $ su Password: # whoami root となります。 使用しているのは、 http://www.princo.org/ からダウンロードしたredhat9のFTP版です。 |
|
投稿日時: 2004-05-17 15:32
コンソールでは OK ですか…。
もう一度、開発用 PC にログインして、正確にスクリプトのオーナとパーミッションを確認してみてください。 (ftp は関係ないと思いますよ) それでも、オーナやパーミッションがおかしくない場合は、suidperl の環境周りをチェックしてみる必要があるかもしれません。 私は Perl 使いではないので、help できるのはこのくらいです…。 ちなみに、「#!/usr/bin/perl」 としても、sbit が立っていれば suidperl が起動されますよ。 (/usr/bin/perl なんですね。Linux って /usr/local/bin に入ってたような…) そうですね…こちらのページ(および関連ページ)が参考になると思うので、よろしければ見てみてください。 ・ パーミッションと実行権限 (68user's page) ひろ さん、結構危険なモノを作っているんじゃ…と思っている方も少なくないと思われます(苦笑)。 # Web 経由で groupadd とか…インターネットに晒したりしませんよね?(汗) |
|
投稿日時: 2004-05-17 16:48
問題のスクリプトを設置しているディレクトリの、
所有者とグループはちなみに何になっていますか? _________________ |
1