- ベストアンサー
Apacheのユーザーディレクトリ内ファイル参照時の権限設定
httpdから(userdirモジュールやvirtualhostモジュールを利用して) ユーザーディレクトリ内のファイルを参照する場合 該当するユーザーのホームディレクトリのパーミッションを 700→755や777に変更しないとアクセス出来ないと思うのですが ホームディレクトリをこれらのパーミッションに設定するとSSHやFTPを通じて 他のユーザーから参照出来るようになってしまいます。 他のユーザーからのアクセスを制限しつつ httpdからホームディレクトリのファイルにアクセスさせる方法としては どのようなものがあるのでしょうか? 具体的な方法というよりは 参考URLや方法の名称などを教えていただけるとありがたいです。 よろしく御願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
httpd の実行ユーザに対して所有グループの権限でアクセスさせることで、取り敢えずは実現できます。たとえば、httpd の実行ユーザを `apache' と仮定します。CGIで一般ユーザのディレクトリ内に tempfile 等を作らせる必要がなければ、以下の permission で良いかと思います。 chgrp apache /home/ユーザディレクトリ chmod 710 /home/ユーザディレクトリ あるいは、Linux Kernel2.6 など POSIX準拠の ACL をサポートしている OS をお使いであれば、それを利用しても良いかと思います。
その他の回答 (2)
- Lean
- ベストアンサー率72% (435/603)
>ANo.1 >ただしSSHは無理かな。 chrootするSSHをインストールして使用する。 ○chrootssh http://chrootssh.sourceforge.net/ ○Fedoraで自宅サーバー構築 SSHサーバー構築(OpenSSH+Chroot) http://fedorasrv.com/openssh_chroot.shtml ○Googleで「openssh chroot」の検索結果 http://www.google.co.jp/search?hl=ja&q=openssh+chroot&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
お礼
参考URLありがとうございます。 chroot+opensshですね。 デフォルトのSSHを入れ替える必要があって、すこしめんどくさそうだったので スルーしていましたが、参考にしてみます。
- toro777777
- ベストアンサー率16% (43/257)
FTPに関してはFTPサーバの設定で ホームディレクトリをルートディレクトリとする 設定で何とかなると思います。 ただしSSHは無理かな。
お礼
ありがとうございます。 プロセス毎の設定ではなく根本的(?)な対処方法を探していましたが 環境に合わせて簡単な方法をとっていくのも大切かもしれないですね。。。
お礼
ありがとうございます。 ふむふむ。 簡単な設定でできそうですね。 >POSIX準拠の ACL をサポート カーネルは最新なので、早速ググってみます。