V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chenqh
V2EX  ›  PHP

关于 PHP 部署权限的问题

  •  
  •   chenqh · 2020-02-29 15:14:52 +08:00 · 2962 次点击
    这是一个创建于 1515 天前的主题,其中的信息可能已经有所发展或是发生改变。

    假如我有个一个 php 项目名叫 novel

    部署路径是/www/wwwroot/novel, /www/wwwroot的用户是root

    nginx 的 user 是www, 而且我这个 php 项目需要一些 shell 后台执行, 所以

    我这个/www/wwwroot/novel 应该是什么权限 www 还是 root 呢?,如果是www 或者root

    我应该怎么执行这个项目的 shell 呢? 还是直接设置成775?

    5 条回复    2020-03-01 12:39:13 +08:00
    hakono
        1
    hakono  
       2020-02-29 16:19:21 +08:00 via Android   ❤️ 1
    nginx 权限改成 www,然后 /www/wwwroot 整个权限也改成 www
    encro
        2
    encro  
       2020-02-29 16:22:54 +08:00   ❤️ 1
    按楼上的做,然后将调 shell 的部分,不要通过 web 执行,通过队列任务或者定时任务执行 crontab 就行了。
    Sor
        3
    Sor  
       2020-03-01 09:51:26 +08:00
    按楼上的做,注意定时任务或队列的运行身份也要以 www 运行。
    chenqh
        4
    chenqh  
    OP
       2020-03-01 11:16:38 +08:00
    @hakono 但是我是用 BT 的呀,/www/wwwroot 默认是 root
    hakono
        5
    hakono  
       2020-03-01 12:39:13 +08:00
    @chenqh wwwroot 什么权限和你用不用 BT 有什么关系?就不能 BT 也用 www 用户执行? 或者再不济用 root 跑 BT,下载完成后自动执行一行命令,将 BT 的下载目录 chown 成 www。至少 rtorrent 可是做得到的。
    当然你一定想轻松,nginx 用 root 跑,php 用 root 跑,或者直接 777 也没人拦你。风险和安全自己评估
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1026 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:16 · PVG 03:16 · LAX 12:16 · JFK 15:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.