目前,我将0777
设置为所有目录和文件。
但是,我害怕被其他人访问。
日志文件以及所有 Controller ,模型, View 和config中的文件均设置为0777
通常,应该如何设置它们?
最佳答案
您绝对不应将0777
用作文件权限。这更容易使您面临漏洞。
通常,请遵循以下原则:
0755
,它等于rwxr-xr-x
。执行权限允许查看文件夹内容。查找/your/rails/dir -type d -exec chmod 755 {} +
0755
。这样,任何人都可以执行脚本,但不能对其进行更改(写入)。 0644
,它等于rw-r--r--
。这样,每个人都可以读取文件,所有者可以写入文件,而没有人可以执行文件。除其他外,这可以防止恶意脚本被上载和执行。查找/your/rails/dir -type f -exec chmod 644 {} +
config/database.yml
或包含诸如邮件服务(mandrill,sendgrid,邮戳),Amazon S3存储桶或Redis连接之类的密码的任何文件。对于这些文件,您可以使用0600
。 在生产环境中,您的rails应用程序应该以拥有所有这些文件的同一用户(不是root)运行。通过使用passenger,unicorn或运行Web服务器(例如mongrel或webrick)作为本地用户在诸如
localhost:3000
的端口上监听,并使Apache或Nginx反向代理到localhost:3000
,可以最轻松地完成此操作。
关于ruby-on-rails - 我应该如何设置Rails应用程序的权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14889614/