• ベストアンサー

echo \$USER について

このコマンドをCGIにのせて、どうにかユーザーIDを取り出そうと思ったのですが、 何もかえってきませんでした。もしかすると、WEBアプリケーションからはだれが使用してるか分からないからですか? パソコンのユーザーIDをCGI上に表示したいなと思っています。(パソコンにログインするときにでるIDです.) 質問の仕方がへたですいません。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • urakids
  • ベストアンサー率77% (7/9)
回答No.4

>ちなみに現在CGIもJAVASCRIPTも使ってます。 >ということはできるという意味でしょうか? >それとも、ログイン管理をするために新しくWEBアプリを使うためのユーザーIDを作ったりする必要があるということですか? パソコンにログインしているユーザー名を取得する事は出来ますが、 ちょいと手間です。 まず、JavaScriptを埋め込んだHTMLまたはcgiを作り JavaScriptでログインユーザー名を取得し、 それを、目的のcgiにリンクで引数として渡すなどをすれば 取得は出来ます。 やり方としては以上なんですが、 一段階噛ましておかないといけないので少し手間なわけです。 また、ブラウザによってはJavaScriptの動作のON/OFFが出来るブラウザもあるので 絶対に取得出来る保証もありません。 なので絶対に取得されたい場合は上記にお話しされている >ログイン管理をするために新しくWEBアプリを使うためのユーザーIDを作ったりする必要があるということですか? の方が安全かもしれません。

kenpanch7
質問者

お礼

ありがとうございました。 Javascriptについては、うといですがいろいろ調べて試してみたいと思います。

その他の回答 (3)

  • urakids
  • ベストアンサー率77% (7/9)
回答No.3

間違っていたらごめんなさい。 web上からcgiを見に来ているパソコンのUIDを知りたい訳ですよね? もしそうでしたら、ログイン管理などをすればわかるかも知れませんが、 単体だけでは難しいというか、無理ですよ。 cgiとJavaScriptや、vbscriptなんかを使えば出来ますけど。

kenpanch7
質問者

補足

そうですか、無理ですか分かりました。ちなみに現在CGIもJAVASCRIPTも使ってます。ということはできるという意味でしょうか?それとも、ログイン管理をするために新しくWEBアプリを使うためのユーザーIDを作ったりする必要があるということですか?

  • t-okura
  • ベストアンサー率75% (253/335)
回答No.2

CGI がどんなユーザ権限で実行されているか知りたいのですね。 $ENV{USER} を表示すればよいです。 OS コマンドが使えるのであれば $USER = `/usr/bin/id`; で取り出してもよいです。 また、 open OUT, '>', 'test.txt'; print OUT "Hello\n"; close OUT; で、ファイルを作成し、FTP で作成したファイルの所有者を 見てもよいと思います。CGI をアップロードできるのだから FTP できますよね。

kenpanch7
質問者

補足

ご返答ありがとうございます. 実際にやってみると、USERIDはWWWRUNでした。ようするに個人を特定することはできない? ということでしょうか。CGI上にPC使用者の名前あるいは、IDを表示したかったのですが、なかなかうまくいかないです. いま、LDAPというものを調べていますが、方向性はあってると思いますか?

  • urakids
  • ベストアンサー率77% (7/9)
回答No.1

echo \$USER だけでは判らない事、多々といった感じですが。 まず、perlにechoといったコマンドはありません。 なのでまず動かなくて当たり前です。 そして\$USERが何を指しているのかわからないのですが、 普通だと$USERのリファレンスを参照しているので、 やはり期待に添える物はとれないかと思います。

kenpanch7
質問者

補足

お返事ありがとうございました。 説明不足で申し訳ありません。 my $test =`echo $USER` と実際は記述しております。 私の中では、環境変数の$ENV{'$USER'}という感じかなという位置づけです。 test.plの中にmy $test =`echo $USER` の記述をすると、ユーザーIDが 帰ってきますが、CGIの中にかくと、値がかえってきませんでした。 もし何か、他にいいアイディアがあれば、お願いします。

関連するQ&A