CentOS7用户不继承组权限


0

我一直在https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-on-centos-7上阅读该教程(以及所有的先决条件教程),在我的新CentOS7上设置wordpress服务器。到目前为止,一切都很好

sudo chown -R apache:apache /var/www/html/*

我知道上面的命令将所有权分配给apache用户和组。但是,通常情况下,我使用自己的myuser帐户通过putty和Filezilla连接,并希望为该帐户启用权限。

所以除了上面的命令,我还添加myuserapache组并注销并重新登录,但是当我尝试在html文件夹中执行CRUD操作时,仍然会收到权限被拒绝的错误消息。但是,如果我使用sudo它们来提升命令,那么我对如何允许myuser帐户执行文件操作感到有些困惑。有任何想法吗?


1
请注意,所有者权限和组权限是独立的。例如,如果文件的permision为644.用户apache可以写入文件,但apache组中的用户只能读取。
Tom Yan

Answers:


2

您需要检查所有权,权限和selinux上下文

所有权 - 听起来你已经做对了。所有者:CentOS7上的组应该是apache:apache。对于您的用户,您必须添加apache作为补充组。id myuser如果apache未显示在组列表中,则可以检查此项,然后运行usermod -a -G apache myuser

权限 - 它们被列为rwxrwxrwx。rwx的中间部分是重要的部分,因为它控制通过组访问(这对myuser来说很重要)。您可能只需要读/写权限,因此chmod -R 664 directoryname可能就足够了(对于apache用户和组读/写,对其他人只读)。您可以使用以下方式检查权限ls -l

注意:WordPress通常包含一个隐藏的'.htaccess'文件,您需要手动将chmod应用于该文件,而任何其他隐藏文件,如递归chmod / chown将跳过它们。

SELinux上下文 - 您可以查看这些内容ls -Z。要关闭SELinux强制执行,你可以运行setenforce 0- 这对于调试SELinux是否是罪魁祸首是好的,但是你应该在完成测试时重新打开它setenforce 1。如果SELinux是问题所在,那么你可能需要做的就是改变文件的上下文。chcon -R -t httpd_sys_rw_content_t directoryname

注意:递归chcon也会跳过隐藏文件(任何以'。'开头的文件)

侧注:如果使用符号链接,则应确保链接目录和实际符号链接本身都具有相应的所有权/权限。要使用chmod / chown定位符号链接,请使用该-h标志,如果定位目录,请确保不存在尾部斜杠(例如。/var/www/html/linked_dir而不是/var/www/html/linked_dir/- 如果使用制表符完成则要小心,因为它会自动添加尾部斜杠)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.