• ベストアンサー

パーミッションの設定について

パーミッションの設定についておうかがいしたいのですが なぜ全てのファイルが777だとまずいのでしょうか。 読み取り専用とか書き込み専用とか実行専用とか 意味不明なんですけど。

  • ler
  • お礼率45% (55/121)
  • CGI
  • 回答数4
  • ありがとう数1

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

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

他の人にファイルをいじられてしまう可能性があるため。

その他の回答 (3)

回答No.4

例えば755であると こういう事 ーーーーー本人ーーグループーー他人 読取OKが4●ーーーー●ーーーー● 書込OKが2●ーーーー×ーーーー× 実行OKが1●ーーーー●ーーーー● 足算すると7ーーーー5ーーーー5 これが777だとグループや他人から書込みOKだから プログラムそのものが改ざんされちゃう可能性があるって事 逆に書込みファイル(ログファイル)を666や606にするのもにするのも、もしログファイルに実行可能な記述があればそれを実行するのもよろしくない そのファイルは実行形式なのか? 読取専用なのか?書込みOKなのか?そのすべてなのか? ってのが結構明確に決めておくわけです。 CGIをやるなら、スクリプトファイルに書き込まれるとまずいし ログファイルを実行する必要もない ファイルそのものの特性を属性としてあらわしてるんす

回答No.3

一般的な設定パターンについてはこちら↓

参考URL:
http://www.rescue.ne.jp/cgi/mode/
回答No.2

もうちょっと付け足します >他の人にファイルをいじられてしまう可能性があるため。  =>データやHTMLページぐらいならまだ良いのですが  CGIなどのアプリケーションファイルを改変されてしまうと 1番最悪な状況として、全然他のところにあるサーバーなどを攻撃してしまうように変えられてしまうことも有り得ます  状況によっては、そのサーバーの権利者から  損害賠償を求められることも有り得ます。 2番目に悪い状況として、あなたがお使いのサーバー内を  クラッシュするように改変されることが有り得ます  レンタルサーバーなどでしたら、同じく損害賠償の可能性もあります ただし、そもそも今時のレンタルサーバーの場合 .cgiファイルや.cgiを置いているディレクトリのパーミッションが危険なものであれば、実行できなくなっている場合が多いです (Suexecなど)

関連するQ&A

  • パーミッションの設定

    質問1: 通常、フォルダ、HTMLファイル又はPHPファイルをサーバへFTPでアップロードする時は、パーミッションの設定をどのようにすればよいのでしょうか?現時点の構成では、フォルダのパーミッションが765で、全てのファイルのパーミッションが664でもサイト自体は動作はしますが、これでセキュリティ上問題ないですか? 特に「オーナー」と「グループ」のパーミッションというものが何なのだか良く理解できていません。サーバは、レンタルサーバを使用しています。「オーナー」がサーバを借りている自分ということは検討がつくのですが(オーナー=サーバを借りている人ですよね??)、いくら自分がオーナーでも自分が通常のブラウザーから自分のサイトにアクセスした場合、それが一般の人なのかそれともオーナーなのかなんて私のサイトに分かるはずもないと思います。 それでは、オーナーのパーミッションとはどのような時のために設定するのでしょうか?また、グループってだれのことですか? 質問2: ベーシック認証をかけたフォルダー内のパーミッションの設定に関する質問です。 通常、.htpasswd、.htpasswd及びベーシック認証がかかっているフォルダ内のパーミッションは765に設定して、そのフォルダ内のの全てのファイル(.htpasswd及び.htpasswdも含めて)の属性(アクセス権)は604に設定するのですよね? それとも、.htpasswd及び.htpasswdのファイルの属性を604に設定すれば、ベーシック認証がかかっているフォルダ内の他のファイルの属性は604にする必要はないのでしたっけ(664などでも良いのでしたっけ?)? よろしくお願いします。

  • パーミッションの設定

    恐れ入ります。 windows xpのローカル環境にてapacheを通じCGIの勉強をしているのですが作ったCGIのアドレスをブラウザにうちこんでもファイルをダウンロードしますか?というダイアログがでてcgiが実行されず困っています。恐らくパーミッションの設定が問題なのだと思いますが、ffftpではローカル環境のパーミッションの設定ができません。 どのようにすればよろしいでしょうか?

    • ベストアンサー
    • CGI
  • akiraインターネットのパーミッション設定

    akiraインターネットとレンタルサーバー契約をしています。PHPを使ってWebアプリを作ろうとしているのですが、パーミッション設定に泣かされています。。。 ./test (707) ./test/test.php (705) ./test/test2.txt (700) というファイル構成、パーミッション設定になっています。 test.php では test2.txt が存在するかどうか、書き込み可能かどうか、パーミッションはどうなっているかを出力するようにしてみました。 ----test.php------------------------ if ( (file_exists('test2.txt') )) { print "ファイルは存在します。"; }else{ print "ファイルは存在しません。"; } if ( (is_writable('test2.txt') )) { print "書き込みできます"; }else{ print "書き込みはできません"; }   $perms=fileperms('test2.txt');   var_dump($perms);   printf("%o\n",$perms); --------------------------------- 実行すると「ファイルは存在します。書き込みはできません。int(33216) 100700」 と表示されてしまいます。たぶんパーミッションの設定が悪いのだと思いますが、どうやったら書き込みできるようになるのかよくわかりません。 akiraのFAQでは 「モジュール版の PHP をご利用される場合は拡張子を PHP4 は .php 、PHP3 は .php3 として、パーミッションを 604 に設定してください。 モジュール版の PHP スクリプトを格納するディレクトリのパーミッションは 701(または705) に設定してください。PHPスクリプトからディレクトリ内のファイルに書き込みされる場合は 707 としてください。」 という記述があるのですが、?!?!です。 http://www.akira.ne.jp/support/start.htm#4 対処法などを教えていただけないでしょうか? お手数ですがよろしくお願いします。

  • パーミッション?

    パーミッションの設定で、 全てのCGIファイルに設定するのか? と聞いたところ、 サーバーによって違う。 と返事がきましたが、 そのサーバーによって違うというのはどう判断したらよいのでしょう。 それと、一部のCGIファイルのパーミッションを設定するとしたら、どのようなCGIファイルのパーミッションを設定したらよいでしょう。 教えてください。

  • パーミッションの種類

    パーミッションって、『読み込み可能』と『書き込み可能』と『実行可能』がありますよね。 『読み込み』と『実行』って、どう違うんですか? 3つそれぞれの意味も教えてくれれば恐縮です・・・

  • cygwinのパーミッションの設定

    cygwinをversion1.7.1にアップグレードしたのですが、ファイルを作成するとパーミッションが全て777になってしまいます。気持ちが悪いので何とかしたいのですがどこを設定すれば変えられるものなのでしょうか?

  • “パーミッションを変えて、実行可能に設定する”とは?

    Movable Type4の勉強を始めました。 メールフォーム作成のプラグイン(http://www.h-fj.com/blog/archives/2007/05/30-093013.php)をMTにインストールしたいのですが、パーミションの設定がわかりません。“ファイルのパーミッションを変えて、実行可能に設定”するためには、「mt-mail-form.cgi」ファイルのパーミションを何にすればよいのでしょうか?上記URLの参照先で、下記の部分についてです。 1.インストール/アップデート手順 アップロードが終わったら、「plugins」→「MailForm」→「mt-mail-form.cgi」ファイルのパーミッションを変えて、実行可能に設定します。 本当に基本的な質問で申し訳ありません。

  • パーミッションの設定で

    カレントディレクトリ以下にあるディレクトリは755に、ファイルは644にパーミッションを設定する場合、ディレクトリ内に含まれるファイルも644に設定する効率のよい方法はないでしょうか。

  • パーミッションの考え方。

    サーバー(リモート): XREAのレンタルサーバー(Linux系) テストサーバー(ローカル): Windows版XAMPP (Version: 1.8.1) FTPソフト: FFFTP DB: SQLite3 ----- 使用するディレクトリ、ファイルのパーミッションの設定のしかたがよく分からず、 困っています。 使用するファイル、ディレクトリは以下の通りです。 phpスクリプトファイル(3種類) (1)全ての人からウェブブラウザ経由でアクセスされて動く --- a1 (2)phpスクリプトから呼ばれた時にのみ使われる --- a2 (3)管理者のみがアクセス --- a3 DBファイル(.sqlite3) --- b1 画像ファイル --- c1 <位置関係(Document Root を基準に書かせてもらいます。)> Document Root --- a1.php Document Root --- sub --- a2.php Document Root --- admin --- a3.php Document Root --- db --- b1.sqlite3 Document Root --- img --- c1.jpg 上記のような場合、 (ディレクトリ) sub admin db img (ファイル) a1.php a2.php a3.php b1.sqlite3 c1.jpg これら、4つのディレクトリと、5つのファイルは、 それぞれ、具体的には、どのようにパーミッションの設定をしたらよろしいでしょうか。 (考え方も含め、ご教示頂けますと助かります。) それと、 パーミッションの話で出てきます、 「自分」、「グループ」、「他人」 とは、一般的に、 レンタルサーバー(特に知りたいのはXREAの場合。)においては、 それぞれ具体的には誰を指しますでしょうか? (「グループ」に属すユーザというのは誰のことなのでしょうか?  もし存在しないという場合には、「グループ」のユーザの権限は、  すべて「0」でも大丈夫でしょうか。) また、細かい話にはなりますが、 あるユーザに、DBファイルへの書き込み権限を与え、その一方で、 そのDBファイルへの書き込みを実際に実行するPHPスクリプトファイルの 実行権限を与えない、なんていう場合には事実上、 そのユーザは、「そのDBファイルへの書き込みはできない」 ということになりますでしょうか。 また、phpファイルを「読む」 と、「実行する」では、 動作上、どのような違いがあるのでしょうか。 phpファイルを「読むだけ」というのが、 どのような動作なのか、よく分からなかったもので。。。 どうぞ、よろしくお願い致します。 (レスポンスは確実に致します。)

    • ベストアンサー
    • PHP
  • パーミッション設定について

    自作CGIまたはDLしたCGIを改良したCGIを使う場合、 CGIは通常どおり転送するわけですが..... そこで思ったのは、その後行うパーミッション設定なんですが.... (freewebにHPがあるとして) freewebにファイルを転送したあとにパーミッション設定を するとしたらどーすればいいんでしょうか? (freewebは、telnetがだめって書いてあるんですが。) その場合は、転送する前にパーミッションを設定すればいいので しょうか? どーしたらいいのでしょうか?助言おねがいします。

    • ベストアンサー
    • CGI

専門家に質問してみよう