1

いくつかの大きなデータファイルを含むRAIDアレイサーバーへのシンボリックリンクをApacheにたどらせようとしています。httpd.confこのようなエントリを持つように変更してみました

<Directory "/Users/imagine/Sites">
  Options FollowSymLinks
  AllowOverride all
  Order allow,deny
  Allow from all
</Directory>

ApacheにSitesフォルダー内の任意のシンボリックリンクをたどらせる。

ファイルにアクセスする権限がないことを示すエラーが返され続けます。エラーは次のとおりです。

禁断

このサーバーの/~imagine/imageLibraryTest/videoClips/imageLibraryVideos/imageLibraryVideos/Data13/0002RT-1.movにアクセスする権限がありません。

sysリンクファイルは行の最後の「imageLibraryVideos」であり、Data13はファイルを含むサーバーのサブディレクトリです。

0002RT-1.movファイルには次の権限があります。

-rwxrwxrwx   1 imagine  staff  1138757 Sep 15 17:01 0002RT-1.mov

そして、このパスにあります:

cd /Volumes/ImagineProducts-1/Users/imagine/Sites/imageLibraryVideos/Data13 

リンクは以下を指します:

lrwxr-xr-x  1 imagine  staff   65 Sep 15 16:40 imageLibraryVideos -> /Volumes/ImagineProducts-1/Users/imagine/Sites/imageLibraryVideos
4

4 に答える 4

2

先週同じ問題が発生しましたが、解決策は非常に簡単でした。

走る:

sudo -i -u www-data

そして、ディレクトリごとにパスをナビゲートしてみてください。ある時点で、ディレクトリを開くためのアクセス権がないことに気付くでしょう。最後のディレクトリに到達した場合は、ファイルを読み取れることを確認します (たとえば、head を使用)。

于 2011-08-23T00:21:20.243 に答える
1

囲んでいるディレクトリを見てください。少なくともモード711である必要があります。(drwx--x--x

また、/var/log/apache2/error_log(またはの連結ServerRootErrorLogからのhttpd.conf)を調べて、おそらくより詳細なエラーメッセージを探します。

最後に、をいじった後、apacheを再起動してhttpd.confください。

于 2008-09-17T18:25:41.040 に答える
1

また、シンボリック リンクではなくバインド マウントを確認する必要があります。これにより、特定のパスを新しいポイントに再マウントできます。次に例を示します。

mount --rbind /path/to/current/location/somewhere/else /new/mount/point

を編集fstabして、起動時にこれを行うこともできます。

/path/to/original /new/path bind defaults,bind 0 0
于 2008-11-26T17:39:53.547 に答える
0

これは、Webサーバーを実行しているユーザーが、シンボリックリンクパス内の必要なディレクトリへの読み取りおよび/または実行権限を持っていない場合の権限の問題です。すばやく簡単に確認する方法は、su - web-userweb-userWebサーバーが実行されているユーザーアカウントはどこにありますか)を確認してから、パスにcdしてファイルを表示することです。入力する権限がないディレクトリに遭遇した場合は、Webサーバーのユーザーアカウントからアクセスできるように、権限や所有権を変更する必要があります。

于 2008-09-17T18:28:19.677 に答える