Server 让PHP和普通用户编辑相同文件的三种方法
我是一名网络开发人员,对于一些即将到来的项目,我想使用基于文件的CMS。这意味着我在一开始创建的许多文件以后必须由PHP用户编辑,但对我的用户来说仍然是可编辑的(反之亦然)。我的电脑运行的是Debian 9,我很喜欢它,但对它不是很了解。我刚刚用Debian 9建立了一个本地网络服务器,用于备份和可能的文件共享。(我正在使用它进行配置,这反映了我的命令行技能水平) 在我的在线共享托管服务器上,PHP用户和FTP用户似乎是相同的,644/755权限工作正常,这也是我使用的CMS推荐的。我想在我的计算机上模拟这个,这样我就不必一直摆弄权限。但是我该怎么做呢?目前,我的普通用户(Server 让PHP和普通用户编辑相同文件的三种方法,server,file-permissions,rsync,Server,File Permissions,Rsync,我是一名网络开发人员,对于一些即将到来的项目,我想使用基于文件的CMS。这意味着我在一开始创建的许多文件以后必须由PHP用户编辑,但对我的用户来说仍然是可编辑的(反之亦然)。我的电脑运行的是Debian 9,我很喜欢它,但对它不是很了解。我刚刚用Debian 9建立了一个本地网络服务器,用于备份和可能的文件共享。(我正在使用它进行配置,这反映了我的命令行技能水平) 在我的在线共享托管服务器上,PHP用户和FTP用户似乎是相同的,644/755权限工作正常,这也是我使用的CMS推荐的。我想在我的计
anna
)无权访问www-data
的文件,反之亦然。将它们放在同一组中仍然意味着更改文件权限。让anna
成为PHP用户是个坏主意(据我所知),因为anna
拥有sudo
权限
到目前为止,我已经研究了三种可能的解决方案,但我真的不太了解,我想知道哪一种是最好的选择
rsync
使用grunt rsync
将文件发送到我的服务器,然后以某种方式获取rsync
以将所有权设置为www data
()www data
所有,然后直接编辑服务器上的文件或使用grunt copy
从我的本地目录复制它们安娜~我想出来了!最后,我读到了关于将PHP作为CGI而不是Apache模块运行的内容,这将解决我的权限问题。另外,据我所知,当我是唯一在本地计算机上使用它的人时,没有额外的安全预防措施 如果有人发现这一点可能会有所帮助,以下是我所做的(基本上如下所示):
php7.0-fpm
前面:
www-data
更改为anna
,在/etc/php/7.0/fpm/pool.d/www.conf中更改了两次,然后在/usr/lib/tmpfiles.d/php7.0-fpm.conf中再次更改(最后一位可能是特定于Ubuntu/Debian的,我感谢Keith)DirectoryIndex index.php
<LocationMatch "^(.*\.php)$">
ProxyPass fcgi://127.0.0.1:9000/var/www/html
</LocationMatch>
; listen = /run/php/php7.0-fpm.sock
listen = 127.0.0.1:9000