在CentOS 7上运行LAMP堆栈的用户权限

克里斯

我目前在CentOS 7上运行Apache,MySQL和PHP 7.2。

我的网站目录是/var/www/html

现在的问题是,有一个SFTP帐户是root用户,并且可以访问所有目录。将文件上载到网站目录时,该用户是root用户,并且是组apache。

因此,我需要将用户更改为apache:

sudo chown -R apache /var/www/html/

然后,用户是Apache,我可以使用我的使用PHP的网络软件来编辑文件。

有人告诉我,通过root用户通过SFTP上传文件时,用户将永远是root用户。

有没有一种方法可以使通过我的SFTP帐户上传的文件可以在不执行sudo chown的情况下进行编辑?

莫西·卡兹(Moshe Katz)

在Linux上无法完成自动更改用户的操作-这可能会导致“文件泄露”问题,即创建文件的用户无法编辑文件,因为文件已自动更改为其他用户拥有。

最简单的解决方案是在父目录上使用setgid(via chmod g+s)来使上传的文件属于apache用户所属的组,并设置一个umask(viaumask 0002或类似名称),以确保新文件始终具有组写入权限允许。然后,Apache(和PHP)将能够对其进行修改。

(请注意,您的文件已经在该apache组中上传了,这表明您已经在中间了,即,您已经setgid设置位。)

有关这些命令的更多信息,请参见SuperUser Blog文章Linux Permissions Demystified

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章