stat 属于该组的用户的权限被拒绝

stat 属于该组的用户的权限被拒绝

我在一台机器上安装了 nginx,但网站无法正常工作,因为 nginx 使用的用户(www-data)无权访问包含网站内容的文件夹。

我决定将用户添加www-data到该root组,该组是该文件夹的所有者,但是当我尝试统计该文件夹时仍然收到权限被拒绝的提示。

该文件夹位于以下位置/root/sources,当前权限如下:

drwxr-xr-x 10 root root 4096 Feb 11 13:53 sources

(基本上,对于组内的用户来说,它具有读取权限)

我通过运行以下命令将用户添加到组中:

gpasswd -a www-data root

并运行以下命令来验证是否已正确添加:

root@pablomatiasgomez:~# grep www-data /etc/group
root:x:0:www-data
www-data:x:33:

现在,权限的典型问题是任何父文件夹都没有正确的权限,但就我而言,它们是正确的:

root@pablomatiasgomez:~# sudo -u www-data stat /root
  File: /root
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: fc01h/64513d    Inode: 1525        Links: 11
Access: (0700/drwx------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2023-02-11 13:56:46.300094553 -0300
Modify: 2023-02-11 13:41:37.453201896 -0300
Change: 2023-02-11 13:41:37.453201896 -0300
 Birth: 2022-10-13 23:10:34.424934650 -0300
root@pablomatiasgomez:~# sudo -u www-data stat /root/sources
stat: cannot statx '/root/sources': Permission denied

我不知道还有什么问题。我还尝试向组添加写权限,但结果仍然一样。

答案1

好吧,找到问题了。尽管此命令显示www-data可以访问/root

root@pablomatiasgomez:~# sudo -u www-data stat /root
  File: /root
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: fc01h/64513d    Inode: 1525        Links: 11
Access: (0700/drwx------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2023-02-11 13:56:46.300094553 -0300
Modify: 2023-02-11 13:41:37.453201896 -0300
Change: 2023-02-11 13:41:37.453201896 -0300
 Birth: 2022-10-13 23:10:34.424934650 -0300

但实际上并非如此(如果无法访问,我不知道 stat 为什么会起作用)

但检查权限后/root发现该组对其没有任何权限:

drwx------  11 root root       4096 Feb 11 13:41 root

添加读取和执行权限后,一切正常:

chmod g+rx /root

相关内容