【问题标题】:Force owner of all files in the folder "/var/www" are user www-data文件夹“/var/www”中所有文件的强制所有者是用户 www-data
【发布时间】:2014-02-23 08:20:04
【问题描述】:

我有一个专用服务器,使用“sudo apt-get install php5 php5-curl”命令安装了 Debian、Apache 和 PHP。

您可以强制文件夹和子目录中所有创建的文件始终是用户 www-data 吗?

如果我登录 sftp 并发送到 FTP 上的一个文件,它总是以 root 身份,因为我是作为 root 登录的,也可以更改,例如,我想将文件发送到服务器以 root 身份登录,但它是他的所有者 www-data?

【问题讨论】:

  • 您必须是用户 www-data 才能创建为用户 www-data 但事后您可以发出诸如 chown -R www-data:www-data /files/xx/yy/ 之类的命令
  • 谢谢 :) 这个命令我在这里使用过,它可以工作,从 www 文件夹递归地更改所有文件,但它只是在命令时,我想要的是确定的东西,是否可能?

标签: php apache debian sftp chmod


【解决方案1】:

www-data 下的所有文件归 Web 服务器所有(假设默认情况下具有写入权限)是危险的,因为脚本中的错误或 Web 服务器本身可能导致源代码注入。

/var/www 下的文件不应归 Web 服务器所有,除非某个 Web 应用程序确实需要对文件夹进行写访问。

即便如此,尤其是在共享主机环境中,也有比让 Web 服务器拥有此类目录更好的解决方案,因为这将允许所有其他 PHP 脚本(由 Web 服务器启动)写入该目录。

【讨论】:

  • "/var/www 下的文件不应归 Web 服务器所有,除非某个 Web 应用程序确实需要对文件夹的写访问权。" /var/www 中的文件应该是谁?我一直都知道你是 www-data
  • 如果是单个应用服务器,文件可能归root.. 或类似website_owner(更好)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-15
  • 2016-12-16
  • 1970-01-01
  • 2020-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多