为什么更改我的 /home 文件夹的组会影响子目录中发生的情况

为什么更改我的 /home 文件夹的组会影响子目录中发生的情况

我认为我还没有理解 Linux 目录中权限工作方式的一个基本方面。

我尝试从本地 apache 服务器访问此文件夹:

sudo chmod 777 /home/ut/programmes/Programmation/p5-linux/
sudo -u www-data ls /home/ut/programmes/Programmation/p5-linux/
ls: cannot read directory '/home/ut/programmes/Programmation/p5-linux/': Permission denied 

为什么它不工作?即使权限是 777 ?

此外,通过这样做:

sudo chown ut:www-data /home/ut
sudo chmod 710 /home/ut

无需对 /home/ut/programmes/Programmation/p5-linux/ 中的权限进行任何更改,现在这就是我得到的:

sudo -u www-data ls /home/ut/programmes/Programmation/p5-linux/
icudtl.dat  libffmpegsumo.so  locales  nw.pak  p5  p5.png  Projets

我所做的唯一一件事就是改变父词典的组。 为什么它现在起作用了?

答案1

第一次尝试时,您仅拥有最后一个目录的所有权限:

/home/ut/programmes/Programmation/p5-linux/

但你需要拥有所有父目录的“执行”权限。根据您添加的内容,我们了解到您没有在 /home/ut 上执行。请注意,您不需要具有父目录的读取权限。

在第二次尝试中,您发现您只需要执行权限(而不是读取权限)

相关内容