网络服务器上传目录 777,安全

网络服务器上传目录 777,安全

我的 cms 上有一个使用 POST(php)的上传功能。一切正常,但目录需要设置为 777,否则会出现错误。
我想将其降低到 644。我该怎么做?
这个设置会在 httpd.conf 中吗?

答案1

确保 Apache (httpd) 拥有该目录。这样 Apache 就可以将文件放在那里,而不需要 777 整个目录。

使用chown -R apache:apache /path/to/upload/dir

编辑:正如 cyberx86 指出的那样,实际的 PHP 进程将执行文件写入操作。因此,PHP 用户需要拥有目录的所有权才能设置更严格的权限。与 Apache 配对时,PHP 实例通常是父 Apache 进程的子进程。

答案2

我认为最好的方法是使用 acl。您可以让 nobody:nobody 拥有目录,然后让运行应用程序的用户拥有完全的读写权限。

这将删除组中具有访问权限的其他人。它将删除“其他”访问权限

chown nobody:nobody /path/to/folder

然后删除“其他”查看文件夹的能力。

chmod o-rx /path/to/folder

然后授予任何用户写入权限来读/写/执行该文件夹。

setfacl -m "u:apache:rwx"
setfacl -m "u:yournormaluser:rwx"

然后将 acl 选项添加到 fstab。

然后重新挂载。

mount -o remount /var

相关内容