为什么会出现此错误:“无法创建目录‘foo’:权限被拒绝”

为什么会出现此错误:“无法创建目录‘foo’:权限被拒绝”

当我尝试创建目录时出现此错误:

[rex <03:57 PM> /var/tmp/pb82]$  mkdir foo
mkdir: cannot create directory `foo': Permission denied

但是,以下输出是否表明我应该能够在那里创建目录,因为我是该目录所属的 www-data 组的成员?

[rex <03:57 PM> /var/tmp/pb82]$  ls -l ..
total 8
drwxrwxr-x 5 root www-data 4096 Aug  7 15:32 jinfo
drwxrwxr-x 3 root www-data 4096 Aug  7 20:43 pb82
[rex <03:58 PM> /var/tmp/pb82]$  whoami
rex
[rex <03:58 PM> /var/tmp/pb82]$  groups rex
users www-data

编辑:回应@UlrichDangel:

[rex <04:08 PM> /var/tmp/pb82/jinfo]$  id
uid=1008(rex) gid=100(users) groups=100(users)

答案1

您可能将自己添加到该www-data组中,然后没有重新登录。要更改您的组成员资格,您可以使用

sg www-data

获得具有适当权限的新外壳。

groups 将从数据库返回数据,而不是您的有效权限 - 来自 man groups:

打印每个用户名的组成员身份,或者如果未指定用户名,则打印当前进程的组成员身份(如果组数据库已更改,则可能会有所不同)。

相关内容