我有一个大型数据存储库,为了安全起见,我希望对于运行Ubuntu 14.04的虚拟机以只读方式挂载。
这个虚拟机运行一个Apache服务器,我希望将来自只读装载资源的某些文件符号链接到public_html (子目录)中。
当试图通过浏览器访问这些子目录时,它们是空的。 检查Apache error.log,我看到以下错误:
AH00032: Symbolic link not allowed or link target not accessible
根据以下的答案:
Apache不会遵循Symlink
Apache 2符号链接不允许或链接目标不可访问
https://unix.stackexchange.com/questions/20993/symbolic-link-not-allowed-or-link-target-not-accessible-apache-on-centos-6
很显然,我需要chmod +x文件和目录才能让Apache访问它们。 但是,这显然不能做到只读文件系统。
我相信这个问题不能由FollowSymLinks解决,因为它是导致问题的文件系统的基本访问。 尽pipe如此,我已经为Apacheconfiguration了以下符号链接,并在指向读写文件系统上的其他文件时validation它是否有效。
(非常)不雅的解决办法是临时复制文件从只读挂载到一些本地暂存空间和符号链接到那里,而文件很大,这将需要额外的内务pipe理,以防止这个地区膨胀,我需要这些文件通过体面的时间表上的请求服务器提供服务。
有没有人有任何其他的build议,我如何才能访问只读驱动器上托pipe的符号链接文件?
非常感谢,
大卫
临时将文件系统安装为RW,修复权限并重新安装RO。
部分地,感谢伊恩的回答,我find了一个解决scheme。
事实上这个问题似乎来自于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 。 但是,因为它已经挂载了根,我认为这导致了上面描述的访问问题。
在新的挂载选项下重新启动(组和用户现在是我login的),允许在Apache下访问符号链接的文件。