![即使具有执行权限,ls 权限也被拒绝](https://linux22.com/image/803471/%E5%8D%B3%E4%BD%BF%E5%85%B7%E6%9C%89%E6%89%A7%E8%A1%8C%E6%9D%83%E9%99%90%EF%BC%8Cls%20%E6%9D%83%E9%99%90%E4%B9%9F%E8%A2%AB%E6%8B%92%E7%BB%9D.png)
我以递归方式/srv/site
将其chown www-data:www-data
,并使用 递归地对其进行 chmodded ug+rwx
。然后,我将自己添加到组www-data
。
$ sudo usermod -a -G www-data cyrus
$ sudo chgrp -R www-data /srv/site
$ sudo chmod -R ug+rwX /srv/site
但是,为什么我仍然被拒绝许可?
$ ls /srv/site
ls: cannot open directory /srv/site: Permission denied
$ cd /srv; ls -la
total 12
drwxr-xr-x 3 root root 4096 Aug 13 02:42 .
drwxr-xr-x 24 root root 4096 Aug 11 21:20 ..
drwxrwx--x 10 www-data www-data 4096 Aug 13 02:42 site
答案1
您再次登录了吗?用户登录后,通常不会重置群组成员身份。
答案2
正如指出的那样,您必须重新登录才能刷新组向量。
为了不丢失工作内容(例如其他打开的终端),您可以考虑
user$ su - user
或者
user$ newgrp www-data
然后从那里你可以生成具有完整组向量的新程序。
如果是newgrp
,那么您最终将成为的主要组www-data
(在本例中),这很重要,例如在创建新文件时。
在的情况下,我想知道如何使用(不刷新组向量)su
实现相同的效果。sudo
sudo -iu user