
大規模なデータ リポジトリがあり、セキュリティ上の理由から、Ubuntu 14.04 を実行している VM に対して読み取り専用でマウントしたままにしておきたいと考えています。
この VM は Apache サーバーを実行しており、読み取り専用でマウントされたリソースから の (サブディレクトリ) に特定のファイルをシンボリックリンクしたいと考えていますpublic_html
。
ブラウザ経由でこれらのサブディレクトリにアクセスしようとすると、空です。Apache error.log を確認すると、次のエラーが表示されます。
AH00032: Symbolic link not allowed or link target not accessible
回答者の回答によると:
Apache 2 シンボリック リンクが許可されていないか、リンク ターゲットにアクセスできません
chmod +x
Apache がアクセスできるようにするには、ファイルとディレクトリが必要なのは明らかです。ただし、読み取り専用ファイルシステムでは、これは明らかに実行できません。
この問題はファイルシステムへの基本的なアクセスが原因であることから、 では解決できないと考えていますFollowSymLinks
。それにもかかわらず、Apache をシンボリックリンクをたどるように構成し、読み取り/書き込みファイルシステム上の他のファイルを指すときに機能することを確認しました。
(非常に)洗練されていない解決策は、読み取り専用マウントからローカルのスクラッチ領域にファイルを一時的にコピーし、代わりにそこにシンボリックリンクを作成することですが、ファイルが大きいため、この領域が膨張しないように追加のハウスキーピングが必要になり、これらのファイルを適切な時間スケールでリクエスト サーバー経由で提供する必要があります。
読み取り専用ドライブにホストされているシンボリックリンクされたファイルにアクセスする方法について、他に何か提案はありますか?
どうもありがとう、
デビッド
答え1
一時的にファイルシステムを RW としてマウントし、権限を修正して再度 RO としてマウントします。
答え2
Iain の回答のおかげで、解決策を見つけることができました。
実際、この問題は fstab のマウント オプションから発生したようです。次のように変更しました:
data_raid /data_raid/ vboxsf defaults 0 0
に
data_raid /data_raid/ vboxsf defaults,gid=1000,uid=1000 0 0
はgid=1000
私のユーザー名に対応します。
リソースが (rw) マウントされているホストはすでに でしたchmod+x
。ただし、ルートにマウントされていたため、上記のアクセス問題が発生したと考えられます。
新しいマウント オプション (グループとユーザーがログインに使用したユーザーになります) で再起動すると、Apache でシンボリック リンク ファイルにアクセスできるようになります。