出现错误后,如何撤销Apache服务帐户中目录的所有权?

基本上,我试图解决一个问题,我不能上传图像到我新迁移的WordPress网站。 该网站是在VPN上,我发现这篇文章, http://2surge.com/how-to-fix-the-uploaded-file-could-not-be-moved-to-wp-content-error-message/ ,提供了以下解决scheme:以root用户身份执行以下命令,以使Apache用户拥有WordPress文件:

chown -R nobody /home/<username>/public_html 

但我想我应该已经拥有了我的主目录中的WP目录。 相反,我给了我的public_html文件夹的Apache用户所有权。 现在我不能通过ftp访问public_html。 我收到错误:无法返回目录列表。

我可以简单地使用相同的命令将所有者更改回原始系统用户:

 chown -R originaluser /home/<username>/public_html 

或者,这是一个概念过于简单,我有一个非常简单和斑点的把握?

是的,你可以改回用户,没问题。 但是,这可能会阻止再次上传图像。

我想你的问题是你有两个服务 – Apache和FTP,运行在不同的用户(例如Apache从用户nobody运行)。

在这种情况下,我会build议你应该创build一个用户组,并给你需要的文件夹授予该用户组的权限(我build议它应该是/ wp-content / uploads /)。

例如:

 # create new group: groupadd webservices # add apache user (nobody) to this new group usermod -a -G webservices nobody # add ftp user (?) to this new group usermod -a -G webservices <ftp user> # add yourself to this group (in case you need to access the folder from non-root account) usermod -a -G webservices <myself> 

现在您需要为该文件夹设置一个用户和组,并为该文件夹提供正确的组权限 (recursion)。

例如:

 # change the folder ownership chown -R nobody:webservices /path/to/wp-content/uploads/ # and set group permissions to be the same with user permissions: chmod -R g=u /path/to/wp-content/uploads/ 

现在apache和ftp用户都拥有这个文件夹及其内容的相同权限,因为这两个用户都在web服务组中(并且web服务组具有正确的权限,这是复制的用户权限)。

也可以看看:

我的网站文件/文件夹在Linuxnetworking服务器上有什么权限?

https://serverfault.com/a/284478/118677

人chown

男人chgrp

人chmod