无法写入目录

无法写入目录

我正在使用 Ubuntu Server 12.04

我无法写入我的用户应该属于该目录组的目录......

total 12
-rw-rw-r-- 1 www-data root   30 Sep 17 13:34 index.php
drwxrwxr-x 7 www-data root 4096 Sep 17 13:34 twentyeleven
drwxrwxr-x 4 www-data root 4096 Sep 17 13:34 twentyten

dp : dp adm cdrom sudo dip www-data plugdev lpadmin sambashare www-pub

这是更新后的列表...

-rw-rw-r-- 1 www-data root   28 Sep 17 13:34 index.php
drwxrwxr-x 3 www-data root 4096 Sep 17 13:34 plugins
drwxrwxr-x 4 www-data root 4096 Sep 17 13:34 themes
dp@acme:/var/www/stlit/wp-content$ cd themes
dp@acme:/var/www/stlit/wp-content/themes$ ls -la
total 20
drwxrwxr-x 4 www-data root 4096 Sep 17 13:34 .
drwxrwxr-x 4 www-data root 4096 Sep 17 13:34 ..
-rw-rw-r-- 1 www-data root   30 Sep 17 13:34 index.php
drwxrwxr-x 7 www-data root 4096 Sep 17 13:34 twentyeleven
drwxrwxr-x 4 www-data root 4096 Sep 17 13:34 twentyten

如果我需要提供更多信息,请告诉我。

答案1

如果您指的是该文件列表中的twentyeleventwentyten,则那里的组是root,用户是www-data,他拥有这些目录。

如果您希望以该用户身份写入文件,则还需要将文件组更改为 www-data 组。您可能希望sudo chgrp -R www-data .在包含要以您的用户身份编辑的文件和目录的目录中执行此操作。

答案2

根据上述清单

drwxrwxr-x 4 www-data root .....

这意味着,第一个姓名 www-data是文件的“所有者”,第二个root是文件所属的“组”。

而且由于您的用户不在该root组中(并且不应该在该组中!),您无法修改该文件,因为只有所有者和组才对文件拥有完全访问权限。

  1. 要更改文件组,您需要使用

    sudo chgrp "new-group-name" file
    
  2. 要更改文件所有者,您需要使用

    sudo chown "new-owner-name" file
    
  3. 如果要更改两者,可以使用以下命令进行操作:

    sudo chown "new-owner-name":"new-group-name" file
    

我最好的猜测是你需要使用chgrp,但你却使用了chown

相关内容