• ベストアンサー

public_htmlについて

Fookyの回答

  • Fooky
  • ベストアンサー率71% (59/82)
回答No.3

IISはいじったことが無いし今後もいじるつもりも全く無いので推測ですが、 問題はサーバ(IIS or apache)の実行ユーザの問題ではないですか? > folder_Aを作成してAdministratorのみフルコン設定 というのは、他のユーザは全て読み取り禁止ってことですよね。 Administratorのみフルコンで後は読取りのみとかではないですね? (そうじゃないと、/home/webuserが他者に読み取り許可を 与えていない設定になっていることと比較する意味が無い) IISの実行ユーザがAdministratorsグループのメンバー(または Administrator自身)であるために、Administratorしか 読めないフォルダが読めてるだけじゃないですか? もちろん、apacheの実行ユーザを管理者(root)にすれば、どの ディレクトリでも読めるのでこの問題は発生しません。ただ、全く 推奨できる設定ではないです。万一セキュリティホールによって apacheが乗っ取られた場合、apacheがroot権限を持っていれば システム領域の破壊が簡単にできてしまいます。こういうことを 防ぐために、apacheはデフォルトで単なる一ユーザよりもさらに 制限されたユーザ(nobody)で実行されるようになっています。 IISでも同じことが言える、というかセキュリティホールの発見 頻度から見てさらに危険で、IISをAdministratorsグループで 実行するのは致命的でしょう。 > これだと、ブラウザからは誰でも接続できます。 認証はまた別の問題で、FTP認証はFTPサーバがやります。HTTPの 認証はapacheがやりますが、それはLinuxのユーザとは全く独立で、 ファイルのアクセス権とは無関係です。

holydevil
質問者

補足

> >folder_Aを作成してAdministratorのみフルコン設定 >というのは、他のユーザは全て読み取り禁止ってことですよね。 もちろんそうです。 IISの実行ユーザはデフォルトでは“system”アカウントを使用します。ただ、このIISの実行ユーザの変化によってクライアントからアクセスができたりできなかったりする事はないと思います。 LINUXの場合、apacheの実行ユーザを管理者(root)にした場合、どのユーザ(ブラウザ)からも全てのディレクトリにアクセスできるのですか?できるとすれば根本的にIIS(NT)とApache(linux)は考え方が異なるという事になると思います。

関連するQ&A

  • apache1.3でのUserDir設定について

    apache1.3.37を使用してます。 httpd.confを下記のようにして、UserDirを有効にしてます。 <IfModule mod_userdir.c> UserDir /home/*/public_html/index.html <Directory /home/*/public_html> AllowOverride All </Directory> </IfModule> ※UserDir関連では上記以外変更してません。 この設定で、http://www.xxxx.jp/~useridを開き /home/userid/public_html/index.htmlは表示されるのですが、 画像ファイル等だけ、DocumentRootに指定したディレクトリを 見に行ってしまいます。(エラーログにて確認) 当然、画像はDocumentRootで指定したディレクトリではなく 、/home/userid/public_htmlに入ってるので表示されず ×マークになります。 画像ファイル等も/home/userid/public_html直下から参照したいのですが どのようにすれば良いでしょうか? 設定が不足してるのでしょうか? また、/home/userid/public_html配下にcgiと言うディレクトリを 作成し、CGIを動作させたいのですが、その場合どのような設定を 追加すればよいのでしょうか? よろしくお願いします。

  • apache2でユーザーディレクトリが

    apache2でユーザーディレクトリを使いたいんですが ただのapacheではデフォルトでユーザーディレクトリがつかえるんですが 403でパーミッションを直して使えて apache2でいろいろ apache2.confなどにuserdir.cなどのモジュールを読み込ませたり sites-avalias/defaultに /home/*/public_htmlなど試してみたいんですが ダメみたいです ちょっと省略していますが ちなみにバージョンはApache/2.2.3です エラーは http://xxxxx/~ユーザー名 にアクセスすると 403ではなく404エラー フォルダが無いということは sites-avalias/defaultかapache2.confの設定がおかしいんでしょうか? ちゃんと /home/xxxx/public_htmlも作ってありますし パーミッションもあっています しかし <Directory /home/xxx/public_html>などの設定をしたいんですが sites-avalis/defaultに書くのか それともapache2.confに書くのかまぎらわしくて defaultのほうには<Directory /var/www>など書いてあって apache2.confにはmoduleなどいろいろ書いてあります apache2がhttpd.confではなくてまぎらわしくてよくわかりません それとバージョンなど古かったりなど違ったりして できないみたいです Apache/2.2.3でユーザーディレクトリを使っているかた 詳しく教えて下さいお願いします

  • ホームディレクトリのパーミッション!

    今日一日これに困っています。優しく教えてください♪m(0_0)m TurboLinux 7 & Apache についてです。 /etc/httpd/conf/httpd.conf を編集しています。 UserDir   www と記載しました(public_htmlも含めて) /home/user name/www/index.html (Linux) http://192.168.1.1/~user name/index.html (IE) You don't have permission to access /~user name/ on this server というメッセージが出ます。 おそらくパーミッションの設定が悪いと思って744,755,766,777と試して見たのですが結果は同じでした。 設定変更したと言えば linux側でwww(public_html)のディレクトリで設定変更しました。 (ディレクトリ内のファイルもすべて変更する) ftpソフトでありとあらゆる所を変更してみました。 どうしたらいいのでしょうか? 中に入ってるデータは単なるトップページとその次のページの2枚です。 (どちらもテキストで書いてある簡単なもの) お忙しいとは思いますが少しお知恵をお借りできないでしょうか? お願いします。

  • apacheのユーザーディレクトリの設定

    Fedora Core6のapacheのユーザーディレクトリの設定で悩んでいます。 設定ファイル(httpd.conf)には以下のように記述しています。 #UserDir disable UserDir public_html <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> ユーザー登録をして/home/ユーザ名/にpublic_htmlフォルダを作成して、index.htmlページを作り、http://localhost/~ユーザー名/index.htmlにアクセスしましたが、「403 Forbidden」となってしまいます。 http://127.0.0.1/~ユーザー名/でアクセスしても「403 Forbidden」になります。 フォルダやファイルのパーミッションをいろいろと変えてみましたが表示されません。 こちらはLinux勉強中の初心者です。 よろしくお願いします。

  • apacheでmod_userdir.c

    apacheを使っています。設定ファイルhttpd.confには LoadModule userdir_module modules/mod_userdir.so という記述があるにも関わらず、 $ httpd -lコマンドを実行しても、 mod_userdir.c が表示されていません。 これでは、httpd.conf中に、 UserDir /home/*/public_html を記述しても、public_htmlにアクセスされても Pages not found となってしまいます。 mod_userdir.cを組み込む方法をご教授ください。

  • CentOS6でpublic_htmlの公開の仕方

    表題の件で困っています。 以下の作業を行いました。 1.CentOS6.2をインストールして、パケットフィルタリングを設定。 2.# mv /var/www /home/ 3.smb.confの以下を変更。   1.ServerNameをホスト名に変更   2./varを/homeに変更   3.UserDir disableをコメントアウトする   4.UserDir public_htmlを有効にする ここまでの設定で/home/www/html/においたindex.htmlファイルは http://ホスト名/ で見ることが出来るようになりました。 ところがユーザのホームディレクトリの直下に作った /home/(ユーザ名)/public_html/index.html を http://ホスト名/~(ユーザ名)/ で見ることが出来ません。 public_htmlのパーミッションは755にしてあります。 また、SELinux関連化と思い、 # semanage fcontext -a -t httpd_sys_content_t public_html # restorecon public_html も試してみました。 以上の作業をしたのですが http://ホスト名/~(ユーザ名) をブラウザから見ようとすると403 Forbiddenとなってしまいます。 ググって見たのですが、これというものが見つけられませんでした。 ぜひ、ご指導をお待ちしております。

  • Apacheでのユーザーディレクトリ生成

    現在fedora core4 -Apache- でサーバー構築を勉強中なのですが、どうしても解決できない問題が出ました。それはユーザーディレクトリを生成した後、そのディレクトリにアクセスできないという問題です。 ユーザー[testuser]を追加し、/home/testuser/public_htmlを作成後 /home/testuser/public_html/index.htmlを作成、 httpd.confの設定を <IfModule mod_userdir.c> #UserDir disable UserDir /home/*/public_html/ </IfModule> # # Control access to UserDir directories. The following is an example # for a site where these directories are restricted to read-only. # #<Directory /home/*/public_html> # AllowOverride FileInfo AuthConfig Limit # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Directory /home/*/public_html> AllowOverride All Options IncludesNoExec ExecCGI FollowSymLinks <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> とし、ttp://www.testsrv.net/~testuserにアクセスしたところ、 You don't have permission to access /~user1 on this server. アクセス権が無いとはじかれました。 この場合、アクセスできるようにするにはどのようにすれば良いのでしょうか?

  • Aapache の UserDir の設定

    RedHatでapacheを利用しています。 ・DocumentRootは 「/etc/apache/public_html」 UserDirで「disable」を指定するかわりに、 ・「UserDir /etc/apache/USERS/*/public_html」 としており、 ・http://127.0.0.1/~hoge/ とアドレス指定して ・「/etc/apache/USERS/hoge/public_html/index.html」 を参照しにいきたいのですが、どうしてもうまくいきません。 hoge,public_html,index.htmlのどれもパーミッションは777にしています。 ちなみに、 http://127.0.0.1/ も http://127.0.0.1/cgi-bin/ も 自分の思った通りに動いてはくれました。 ・「<Directory "/etc/apache/USERS/*/public_html">」 の中の表記は ・http://127.0.0.1/ で見ることができる ・「<Directory "/etc/apache/public_html">」 と同じにしています。 いろいろと調べたのですが、あっているような気がしてなりません。 どこがおかしいのでしょうか?お答えを宜しくお願いします。

  • RedHat7.3 apache-2 ユーザーのページが見れない。

    ブラウザを立ち上げて http://localhost/ ってやると/usr/local/apache2/htdocs/index.htmlが見えるのですが、 taroというユーザーを作ってホームディレクトリのしたに ~taro/public_html/index.html をつくってやると Forbidden You don't have permission to access /~taro on this server. Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request. Apache/2.0.39 Server at localhost Port 80 といわれちゃいます。ちなみに.httpd.confの中の所では #UserDir public_html <IfModule mod_userdir.c> UserDir public_html </IfModule> となっています。 どうすれば見れるようになるのでしょうか?

  • httpアクセスでNot Found

    自宅サーバをREDHAT 9.0からFC4にUPしました。そしたら、/home/(ユーザ名)/public_html/配下のindex.htmが http://マシン名/~(ユーザ名)/index.htm でNOT FOUNDになります。/var/www/html/の方に移すとhttp://マシン名/index.htmで、うまくいきます。httpd.confは 「Userdir public_html」を生かす様に直しました。REDHAT 9.0の時はこの修正でうまくいったのですが、同じようにしたのにうまくいきません。REDHAT9.0とFC4でhttpd.confの修正の仕方が変わったのでしょうか。どなたかご教授ください。