【问题标题】:Unable to save files to /var/www/html --even though I'm in group www-data无法将文件保存到 /var/www/html - 即使我在组 www-data
【发布时间】:2015-06-30 20:07:01
【问题描述】:

我想保持 root 作为 /var/www 的所有者

我想让/var/www/var/www/* 可以被www-data 组访问(rwx)。

我相信 apache 的用户是 www-data。我将自己(用户:devon)添加到该组,但我仍然无法将文件保存到/var/www/html。救命!

这很清楚我试图做的事情(以下)。我错过了什么?!

devon@cheap-dell /var $ ls -l
...
drwxrwsr-x  3 root www-data 4096 Apr 22 01:06 www
devon@cheap-dell /var $ cd www
devon@cheap-dell /var/www $ ls -l
total 2
drwxrwxr-x 4 root www-data 4096 Apr 22 17:25 html
devon@cheap-dell /var/www $ id devon
uid=1000(devon) gid=1000(devon) groups=1000(devon),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),110(sambashare)
devon@cheap-dell /var/www $ groups devon
devon : devon adm cdrom sudo dip plugdev lpadmin sambashare
devon@cheap-dell /var/www $ id www-data
uid=33(www-data) gid=33(www-data) groups=33(www-data)
devon@cheap-dell /var/www $ groups www-data
www-data : www-data
devon@cheap-dell /var/www $ sudo usermod -a -G www-data devon
devon@cheap-dell /var/www $ # just to be sure......
devon@cheap-dell /var/www $ sudo chgrp -R www-data /var/www
devon@cheap-dell /var/www $ sudo chgrp -R www-data /var/www/*
devon@cheap-dell /var/www $ sudo chmod -R g+rw /var/www
devon@cheap-dell /var/www $ sudo useradd -g www-data devon
useradd: user 'devon' already exists
devon@cheap-dell /var/www $ # good!
devon@cheap-dell /var/www $ ls -l
total 2
drwxrwxr-x 4 root www-data 4096 Apr 22 17:25 html
devon@cheap-dell /var/www $ cd html
devon@cheap-dell /var/www/html $ touch example
touch: cannot touch ‘example’: Permission denied
devon@cheap-dell /var/www/html $ # wtf?! I'm logged in as user devon
devon@cheap-dell /var/www/html $ echo ${APACHE_RUN_USER}

devon@cheap-dell /var/www/html $ # ?? where is it?
devon@cheap-dell /var/www/html $ users ${APACHE_RUN_USER}
devon devon devon devon
devon@cheap-dell /var/www/html $ # I would have expected user www-data, right?  
devon@cheap-dell /var/www/html $ groups ${APACHE_RUN_USER}
devon adm cdrom sudo dip plugdev lpadmin sambashare
devon@cheap-dell /var/www/html $ groups devon
devon : devon adm cdrom sudo dip www-data plugdev lpadmin sambashare
devon@cheap-dell /var/www/html $ sudo usermod -a -G www-data www-data
devon@cheap-dell /var/www/html $ touch example
touch: cannot touch ‘example’: Permission denied
devon@cheap-dell /var/www/html $ # why?!

【问题讨论】:

  • 更改群组后,您需要注销并重新登录才能使更改生效。
  • groups devon 显示您下次登录时将拥有的组。 groups 显示您当前拥有的群组。
  • 或者,不要注销并返回它,而是执行 newgrp www-data
  • 另外,请确保您还拥有目录的x 权限。 w 还不够。
  • 太棒了。注销/重新登录。工作!谢谢! --现在我不知道如何接受这个答案为“那个”。

标签: linux apache permissions sudo chgrp


【解决方案1】:

答案:注销,然后重新登录以使组更改生效。 (这是 Barmar 的回答。)

【讨论】:

    猜你喜欢
    • 2014-11-18
    • 2023-04-11
    • 2022-01-07
    • 2017-06-01
    • 2014-07-11
    • 1970-01-01
    • 2015-06-23
    • 1970-01-01
    • 2017-02-09
    相关资源
    最近更新 更多