我在一台机器上安装了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
我不知道还会有什么问题。我也尝试向这个组添加写权限,但是它仍然得到相同的权限。
发布于 2023-02-11 22:04:19
发现问题了。尽管这个命令显示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
https://serverfault.com/questions/1122603
复制相似问题