2012-02-10 22 views
1

My railsアプリケーション(3.0.11)は、ファイルシステムにアクセスして、ユーザーがSMB経由でファイルシステムに保存したファイルをダウンロードします。残念ながら、OS XライオンServerはsend_fileとファイルのアクセス許可

はrwx --- ---ユーザーの誰もが...、これらの権限を持つSMB経由

をファイルを作成します...しかし、それは、ACLを介して適切な権限を追加しません。 railsが実行されているユーザは、ACLを介してファイルへのフルアクセス権を持つ「admin」です。今問題...

send_fileはファイルにアクセスできないと言います。私はこのような...

のrwxのRX ---ユーザー全員

の一部であるadminに「すべての人」のためのファイルにPOSIXアクセス権を追加した場合...それはそれさえもかかわらず、それをアクセスすることができますACLを介してのみアクセスできる必要があります。私は戻っ--- ---ユーザー全員

はrwx ...に権限を入れて...そして代わりにsend_fileレールのFile.openをしようとした場合、ファイルを読むことができます。私は開いているファイルを使ってsend_dataに送ることもできますが、これはうまくいきますが、私はこのときX-Sendfileを使うことはできません。

send_fileはどうなっていますか?

答えて

0

Railsは基本的に応答(X-Sendfile)にヘッダを導入するhttp://rack.rubyforge.org/doc/Rack/Sendfile.htmlを使用しています。 Webサーバーは、ファイルをクライアントに送信する役割を担います。

これは、Webサーバーユーザーがファイルにアクセスできるようにするためです(Debianベースのシステムでは、通常はwww-データです)。

上記のリンクをご覧ください。 Nginx、Lighttpd、Apacheの設定例を紹介します。しかし、さらに、(例えば)www-データのためにファイルを読みやすくする必要があります。

+0

右。しかし、ApacheのユーザーはACLのアクセス許可を守っていますか?私の場合、それは現れません。 Everyone ACLを読み込み用に設定していますが、_wwwユーザーはEveryoneグループにありますが、まだファイルにアクセスできません。 –

関連する問題