HUS*_*TEN 10 ruby-on-rails ruby-on-rails-3
目前我设置0777
了所有目录和文件.
但是,我害怕被别人访问.
日志文件和配置中的所有控制器,模型,视图和文件都设置为0777
一般来说,他们应该如何设置?
小智 14
绝对不应该使用0777
您的文件权限.这更容易让您暴露于漏洞.
一般来说,遵循以下原则:
对于文件夹,使用0755
,等同于rwxr-xr-x
.执行权限允许查看文件夹内容.
find/your/rails/dir -type d -exec chmod 755 {} +
对于执行的脚本,也可以使用0755
.这允许任何人执行脚本,但不允许对它们进行更改(写入).
对于所有其他文件,使用0644
相当于rw-r--r--
.这允许每个人读取文件,所有者写入文件,没有人执行该文件.除此之外,这可以防止恶意脚本被上载和执行.
find/your/rails/dir -type f -exec chmod 644 {} +
(可选)包含密码的文件可以考虑更严格的权限,尤其是config/database.yml
包含邮件服务(mandrill,sendgrid,邮戳),Amazon S3存储桶或Redis连接等密码的任何文件.对于这些文件,您可以使用0600
.
在生产环境中,rails应用程序应该作为拥有所有这些文件的同一用户(而不是root用户)运行.这可以通过使用乘客,独角兽或运行web服务器(例如mongrel或webrick)作为本地用户监听端口(例如localhost:3000
,具有Apache或Nginx反向代理)来最轻松地实现localhost:3000
.