- ベストアンサー
2000SEVERでCGIのパーミッション設定ができない?
先日、CGIプログラムをアップロードした際、パーミッションの設定をしようとすると、666(rw-rw-rw初期状態でしょうか)から、一切の変更がききませんでした。 しかも、以前にアップロードした掲示板やアンケートフォームのCGIプログラムもこちらで行ったはずの設定が、リストで確認するとすべて666状態になっています。 サーバー管理者に質問の電話をすると、その場では「ちょっとわからない」との返事でしたが、翌日になって「2000SEVERでは、cgiのパーミッションの設定はできないはず」との答え。 そういうものなのでしょうか? 以前、パーミッション設定をしたつもりだったのは、勘違いだったのか?? ということで、サーバに詳しい方にお聞きしたいのでうが、パーミッション設定がきかないとの答えは事実なのでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#4です。 雑な回答になってしまってすみませんでした。わかりづらかったですね... #4お礼より >「httpd」って何ですか? > webサーバのサービスということでした。 Windows2000Serverなら標準でIIS5.0がついていますので、それを使っていると思いますが、 apacheのWindows版だったり他の選択肢も考えられたので、あえてhttpdという言葉を使いました。 >基本的にこういった許可、不許可を、プログラムごとに設定する必要があった場合は、 >サーバ管理者にお願いする必要があるということでしょうか。 > 一般ユーザに開放しているIISサーバというのは自分はきいたことがないので想像ですが、 ユーザにあるフォルダを解放して、そのフォルダ配下のアクセス権はユーザにまかせる という運用はあるかもしれません。 ただ、変更っていうのもWindowsファイル共有で行うのもインターネット上では普通はやりませんし、 IISのftpだと確かできなかったと思います。 そういった意味でも >>Windowsのhttpdを一般ユーザに使用させていること自体がちょっとあれですね...^ ^;; >セキュリティーの問題があるということですか? > IISでインターネット公開している事が、次々出てくるセキュリティホールを見ても驚異なのに それ+一般ユーザにアクセス権変更まで与える となるとちょっとあれですね...ということでした。 >あくまでサーバ管理者ではなく、ユーザではあるんですが、 >こういった知識を浅く広く身に付けたいときってどうすればいいんですかね~。 > やはりいじり倒すのが一番の近道でしょうね。 自由に触れるサーバがあれば、設定できるところは全て設定してみて、 動かなくなったらまた作り直す。これは効きますよ。 とりあえず、ご質問内容からサーバ管理者がちょっと頼りなさそうなので、 自分の勉強+勉強してもらう為にもがんがん質問するのがいいでしょうね。 #いや~なユーザリストにあがってしまうでしょうが...^ ^;;
その他の回答 (4)
WindowsでNTFSなら単にフォルダやファイルのアクセス権になります。 例えばIISなら通常匿名ユーザで運用されていると思うので、 そのファイルに対して"IUSR_コンピュータ名"のアクセス権がどうなっているかということです。 ただし、ファイルのアクセス権を直接いじることは通常せず、普通はIISの設定で実行/書込 等を許可すると思いますが...。 #Windowsのhttpdを一般ユーザに使用させていること自体がちょっとあれですね...^ ^;; 今回のように、場合によっては、個別にアクセス権を指定する場合がありますが、 アクセス権を変更する権限が必要になります。 どのようにサーバに接続しているかわかりませんが、普通の運用なら一般ユーザには アクセス権を変更する権限(アクセス許可の変更)はつけないと思います。 仮にアクセス権を変更する権限がついていたとして、"666"といった設定でどのようなアクセス権がつくかは その設定するプログラムによります。 試しにcygwinを動かしてchmodしてみました。 通常700のファイルを666にしたら ・自分 読み書き ・Everyone 読み書き ・なし 読み書き が付与されました。 "なし"っていうユーザってなんだ?という感じです。 つまり#2の方が言われているように、unixのパーティションのように "本人:グループ:他人"というようなアクセス権ではないということですね。 どのようにhttpdやその上のcgiが動いているのか そこら辺を管理者が理解していないと結構やばいと思いますが...。
お礼
ありがとうございます! ところでまた、質問で、すみません。「NTFS」は調べてわかったのですが、「httpd」って何ですか? >ただし、ファイルのアクセス権を直接いじることは通>常せず、普通はIISの設定で実行/書込 等を許可する>と思いますが...。 これがパーミッションにかわる設定と理解していいのでしょうか? とすると、基本的にこういった許可、不許可を、プログラムごとに設定する必要があった場合は、サーバ管理者にお願いする必要があるということでしょうか。 >Windowsのhttpdを一般ユーザに使用させていること自>体がちょっとあれですね...^ ^;; セキュリティーの問題があるということですか? 質問の山になってしまいました....。 お忙しかったら無視して下さいね! サーバの用語が全然わかっていない自分がショック。 あくまでサーバ管理者ではなく、ユーザではあるんですが、こういった知識を浅く広く身に付けたいときってどうすればいいんですかね~。ふ~...。
- feininger
- ベストアンサー率41% (74/180)
> 以前、パーミッション設定をしたつもりだったのは、勘違いだったのか?? パーミッションといえるほど立派ではありませんが、 唯一、リードオンリー(Writeなし)だけは設定が効いた記憶があります。 でもそれくらいですよ。 もしかするとインストールしたFTPサーバやHTTPサーバーによっては、UNIXもどきの属性を実現してくれるのかな?
お礼
そうなんですか~。 う~ん、もしかしたら、設定したつもりになっていたのかな~??もう1年も前のことで自信ナインですが..。 ありがとうございました!
- master-3rd
- ベストアンサー率35% (582/1641)
Windows系OSにパーミッションの概念は有りません。 なので、変更は出来ないです。 パーミッションの概念があるのはLinux系OSですね。
補足
またまた質問ですみません! Win系にはパーミッション概念そのものが無いということを今回覚えましたが、そこで疑問です。 パーミッションの設定をすることで、プログラムを操作できる人(グループ)を限定して、あるいはできることを限定して、プログラム自体を使っていたずらとかされることを防ぐ、セキュリティーを上げる効果もあるのだと思っていました。 そういうことでは無いのでしょうか? 検討はずれな質問をしてしまったかもしれませんが、よろしくお願いします。
事実です。 私のレンタルしているサーバもWindows2000サーバですが、サーバのサイトに以下のFAQの項目がありました。 タイトル:パーミッションの設定ができないのですが パーミッションの設定は不要です。 ****.netのサーバーはパーミッションは存在しません。 すべてフルアクセスできます。 実際、私も借りはじめの時にパーミッションが設定出来ず、サーバのオーナーさんに問い合わせたのですが、同様の回答が返ってきました。 個人的には一々パーミッションの設定をしなくて良いので助かってます。 が、Windows2000Serverでは一部CGIやsendmailの使用がUNIXサーバと違い、出来ない場合があります。 その点は、サーバの管理者にお問い合わせください。
お礼
ありがとうございました。 すぐにお答えをいただけたので、助かりました。 サーバーの知識が不勉強で、このことを知りませんでした。 ところで、Winサーバ向けのcgiを配付しているところってほとんど無い状態ではないですか? 自分で打てればいいのですが、そうでは無いので選択ができなくて困っています。
お礼
ありがとうございました!これを機会にもっとサーバに興味を持って、いろいろ試してみようと思います。 初心者の質問に丁寧にお答えいただいてありがとうございました♪