使用 setfacl 设置包含目录的权限?

使用 setfacl 设置包含目录的权限?

我有一个文件,例如 script.php,位于以下文件夹结构样式 /home/site/admin/script.php

我已经使用 setfacl 允许远程登录的新用户将该文件包含到正在(远程)执行的另一个脚本中。

但是,这只有在所有包含文件夹都设置了“其他”为可执行时才有效。首先,这甚至是一个问题,我被告知目录可以设置“其他”为可执行,没有任何问题,但这包括我的主文件夹,这对我来说似乎有点开放。

所以我猜测我可以使用 setfacl 来授予用户对所有父目录的执行权限,但是我是否必须单独执行此操作或者是否存在可以向上遍历的命令?

我才刚刚开始了解一般的权限问题,所以如果我理解有误,请谅解。

答案1

对于目录,执行权限允许用户遍历目录,直至目录树的较低级别。从安全角度来看,这是否可以接受取决于您是否允许人们使用这些目录。但是,如果您希望人们能够访问 /home/site/admin/script.php,他们将不得不遍历 /home、/home/site 和 /home/site/admin 才能做到这一点 - 这是没有办法的。

但请注意,这并不一定允许他们列出这些目录的内容;权限r就是为此而设的。 x只允许他们读取和/或写入目录中的文件。

如果您不想允许用户遍历您的主目录,那么您应该将站点文件移动到公共位置。/var/www 或 /srv/www 是标准。

不,据我所知,没有向上移动的命令。你只需要运行chmod a+x /home /home/site /home/site/admin一次。

相关内容