ACL - 仅授予读取权限,*不*授予执行权限

ACL - 仅授予读取权限,*不*授予执行权限

我有一个名为 /test 的目录,里面有两个文件:

info.txt
script.sh

我想授予用户 john 只读访问权限并执行以下操作:

setfacl -m u:john: r test/

使用上述命令,john 无法访问该文件夹,因为他缺少执行权限,因此我再次尝试使用以下命令:

setfacl -m u:john: rx test/

好的,现在可以了:用户 john 能够访问该文件夹并读取文件。

然而,他可以运行 script.sh。我无意授予后者的权限。我该怎么做?

答案1

您可以这样做chmod o-x test/script.sh,但这是毫无意义的。用户只需将文件复制到其主目录,使其可执行并从那里运行即可。无论如何,它都会以用户的权限运行,除非它是 setuid。并且 shell 脚本不能是 setuid,但复制 setuid 文件无论如何都会从副本中删除 setuid 位。

相关内容