使用PHP / Apache上传文件夹的适当权限是什么?
时间:2020-03-05 18:39:37 来源:igfitidea点击:
对不起这个基本问题,我是.NET开发人员,对LAMP设置没有太多经验。
我有一个PHP网站,该网站允许上传到特定文件夹。有人告诉我,该文件夹需要由网络服务器用户拥有,才能进行上载过程,因此我创建了该文件夹,然后按以下方式设置权限:
chown apache:apache -R uploads/ chmod 755 -R uploads/
现在唯一的问题是FTP用户根本无法修改上传的文件。
是否有一个允许我仍然上传文件,然后再以除Web服务器用户之外的用户身份修改文件的权限设置?
解决方案
回答
或者至少766.
- 读取= 4
- 写= 2
- 执行= 1
7 =读取+写入+执行
6 =读+写
- 第一个号码:所有者
- 第二个数字:组
- 第三个数字:其他用户
回答
我们可以创建一个同时具有apache用户和FTP用户作为成员的新组,然后对上载文件夹775授予权限。这应该使apache和FTP用户都能够写入该文件夹中的文件,但保留其他所有人从修改它们。
回答
我要补充一点,如果我们使用的是SELinux,则需要确保类型上下文为tmp_t。我们可以使用chcon实用程序来完成此操作
chcon -t tmp_t uploads
回答
如果我们真的想这样做,我会同意Ryan的回答。
通常,在* nix环境中,我们总是想放弃尽可能少的权限。
10的9倍,因此755是理想的权限,因为唯一具有修改文件能力的用户将是Web服务器。如果我们确实需要更改此设置,请与ftp用户一起将其更改为775.
由于我们是自己首次接触php的人,因此这里有一个有用的链接,可提高我们上传服务的安全性:move_uploaded_file