• 技术文章 >后端开发 >php教程

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

    2016-06-06 20:50:07原创1036
    如题,使用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服务?
    假如这样不安全的话能提出不安全的原因就更好了。

    回复内容:

    如题,使用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服务?
    假如这样不安全的话能提出不安全的原因就更好了。

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

    # chown Nobody:Nobody xxx.sqlite
    # chmod 600 xxx.sqlite
    

    php入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    千万级数据并发解决方案(理论+实战):点击学习

    Mysql单表千万级数据量的查询优化与性能分析

    Mysql主从原理及其在高并发系统中的应用

    专题推荐:php sqlite sqlite3 权限
    上一篇:cookie - 有什么写得比较简单又保障安全的php登录验证身份的源码? 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 你知道如何用PHP实现多进程吗• PHP与MySQL连接的方法总结• 求解:phpcms模板怎样转码?该怎么解决• php 之 cookie 跟 session 简单解读(笔记)• php怎的快捷知道某个函数在哪个文件用过
    1/1

    PHP中文网