【问题标题】:CHMOD 777 on Directories for Database to be Able to Write (Help Me Understand)CHMOD 777 关于能够写入的数据库目录(帮助我理解)
【发布时间】:2015-07-04 05:43:47
【问题描述】:

我对 MySQL 与我的 CentOS 7 服务器的交互了解有限,需要一些帮助。

基本上,我有一个 WordPress 安装,我需要将上传目录和所有目录设置为 CHMOD 777 以通过后端上传图像。虽然 CHMOD 775 不起作用。这让我感到困惑,并且是我不愿意做的事情,因为我不了解风险以及它是多么容易被利用。我会在该文件夹中授予公共写入权限,这很糟糕,对吧?

我的数据库用户对数据库具有权限并且数据库连接。该网站的工作减去写作部分。现在我完全不明白 MySQL 用户与本地 CentOS 用户之间的关系。我不相信这在任何地方都有联系,如果我错了,我该怎么做?

我认为这是由于 CHMOD 775 不起作用意味着所述数据库用户不是具有所述访问权限并能够写入的用户或组的成员。因此我需要启用本地写入权限。

================================================ ====

更多信息

操作系统:CentOS 7 , 服务器:Nginx , 数据库:MariaDB , PHP: PHP 5.4.3

本地用户目录: /home - CHMOD 755, CHOWN root:root

本地用户 /home/usr1 - CHMOD 501, CHOWN usr1:usr1 , /home/usr2 - CHMOD 501, CHOWN usr2:usr2

包含网站万维网: /home/usr1/www - CHMOD 775, CHOWN usr1:usr1 , /home/usr2/www - CHMOD 775, CHOWN usr2:usr2

其余文件/目录: CHOWN usr1:usr1 用于 WWW 中的所有文件 , CHOWN usr2:usr2 用于他各自 WWW 中的所有文件

WWW 中所有目录的 CHOWN 775

WWW 中所有文件的 CHOWN 644

所以当我将数据库连接到 wordpress 安装时,它到底是如何知道使用 root、usr1 或 usr2 的。我试着把他们都放在一个组里看看会发生什么,但没有奏效。觉得值得一试。

感谢任何帮助、建议、教育等。如果可以请帮助我:)

================================================ ===

我可以通过 SSH 访问,我在 VPS 上,据我所知可以完全访问。所以如果你有一个解决方案需要我做一些事情,那很酷。我可以做事!

【问题讨论】:

  • CHOWN 用于更改所有权,CHMOD 用于更改权限。像 CHOWN 644 这样的语句没有意义。最好在相关文件夹上发布ls -la 的输出。如果所有权正确,644 就足够了。还要发布您的操作系统版本和 Web 服务器(Apache、Nginx 等)-您可能会发现这个问题更适合 ServerFault
  • Nginx 将使用启动它的任何用户。检查/etc/nginx/nginx.conf,然后检查chown 网络服务器文件夹以匹配该用户。
  • 我只是让你们看看所有权和权限是什么。我很清楚上述情况。操作系统:CentOS 7 Web 服务器:Nginx - 在主帖中添加了它们。如果我仍然无法在此处的帮助下解决问题,可能会尝试解决服务器故障。感谢您的意见,一切都非常感谢。
  • @passkit 你如何在 nginx.conf 中为服务器块设置用户?我不知道你可以做到这一点....就像扩大。我知道你不能做我刚才说的。 Chown 网络服务器文件夹以匹配该用户......什么用户?我没有关注您如何将用户放入 nginx.conf 文件中。
  • user username; 在根级别 - 然后重新启动 nginx

标签: mysql wordpress file-permissions user-permissions centos7


【解决方案1】:

chown apache:apache wp-content

.... 成功了。查看用户的一个好方法是将文件权限设置为 777 以递归方式上传和所有目录。检查上传文件的所有者,瞧,chown(对那个所有者)。

在我的例子中,用户不是由 nginx.conf 设置的。它是由 php.ini 设置的,任何投反对票的人都是白痴。

进一步澄清 PassKit 似乎不明白: 是的,不要设置 777 权限。这只是一个临时解决方案,因此您可以然后去检查服务器正在使用谁来写入文件。设置 777 权限并上传文件后,立即将权限更改为 775 或 755(如果在共享主机上)。

【讨论】:

  • 然而你说你的网络服务器是 nginx! 777 是错误的权限。公众可以在您的服务器上上传和执行代码。如果所有权正确,您只需要 644。
  • 是的,不要设置 777 权限。这只是一个临时解决方案,因此您可以然后去检查服务器正在使用谁来写入文件。设置 777 权限并上传文件后,如果在共享主机上,请立即将权限更改为 775 或 755。
猜你喜欢
  • 2012-06-07
  • 1970-01-01
  • 2010-12-01
  • 2014-10-11
  • 2012-09-09
  • 2012-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多