开发者社区> 问答> 正文

请教各位php+sqlite3给sqlite3的数据库所在目录777权限是否合适?

如题,使用php与sqlite3建一个小型应用,使用nginx作为反向代理服务器,spawn-fcgi作为FCGI服务,数据库和php及静态文件不在同一个目录下。
现在Nginx和spawn-fcgi都使用Nobody用户工作,如果数据库目录不能读/写的话php会提示can not open the database……,所以必须把数据库目录的权限设为777,问题是这样做真的没问题么?
网上查到的方法都是把权限改成777,但是我看我的rails应用里面的db目录的权限是775,数据库文件的权限就更严苛了,好像是664……网上查了一下rails的passenger(我使用passenger部署的)是以应用路径的所有者为用户工作的,那是不是我也应该使用php应用文件的创建者来执行fcgi服务?
假如这样不安全的话能提出不安全的原因就更好了。

展开
收起
落地花开啦 2016-06-14 13:52:17 2636 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    把 sqlite 的数据库文件设置成 Nobody 所有即可。权限为 644 甚至 600 就行。

    # chown Nobody:Nobody xxx.sqlite
    # chmod 600 xxx.sqlite
    2019-07-17 19:37:24
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-深入浅出网络编程与swoole内核-吴镇宇 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载