当我尝试创建目录时出现此错误:
[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:
打印每个用户名的组成员身份,或者如果未指定用户名,则打印当前进程的组成员身份(如果组数据库已更改,则可能会有所不同)。