私は Mac OSX を使用しており、MacPorts 経由で apache2 をインストールし、_www ユーザーとして実行しています。
/Users/Me/Documents/abc フォルダに提供したいファイルがいくつかあります。
ただし、現時点では、/Users/Me/Documents の権限は 700 です。そのため、abc が chmod 777 であっても、_www はアクセスできません。
以下のオプションを認識します。
- _www にドキュメント フォルダーへのアクセスを許可します。
- 共有したいファイルをドキュメント フォルダーの外に置きます。
- Documents フォルダ外のファイルをハードリンクし、Apache をハードリンクにポイントします。
しかし、これらの解決策はどれも私には受け入れられません。_www に Documents フォルダ全体へのアクセスを許可するのは安全ではないと思います。他の理由から、Documents フォルダ内のファイルを保存しておきたいのです。ファイルは常に変更されるため、ハードリンクでは必ずしも正しいファイル構造が反映されるとは限りません。また、私の理解では、ディレクトリをハードリンクすることはできません (ただし、可能であれば、問題は解決します)。
解決策のアイデアはありますか? いくつかの httpd プロセスを自分のユーザー アカウントとして実行して、そこにアクセスできるようにする方法はありますか?
または、ディレクトリをハードリンクする方法、または httpd に _www が所有していないディレクトリを越えたシンボリックリンクをたどらせる方法はありますか?
ありがとう!
答え1
1) abc フォルダーをパブリックな場所に移動し、そこからアクセスできるようにするには、ドキュメント フォルダー (および/または Web フォルダー) にシンボリック リンクを作成してみてはいかがでしょうか。
2) 別のオプションとしては、ドキュメント フォルダーに 701 を設定するだけです。通過するために必要なのはリストだけです。
3) もちろん、Apache プロセス/スレッドを「自分」として実行することはできます (別のサーバー設定として、または suexec を活用して)。ただし、Apache が他のファイルにアクセスできないようにしたいという問題から全体の問題が始まる場合は、これはほとんどお勧めできません...