用户可以通过以下方式执行可执行文件:sudoing,该命令允许用户以所有者身份运行可执行文件,或者通过将执行位chmod u + x(或者应为chmod a + x?)设置为可执行文件。
那么,如果两者具有相同的效果,即允许所有者以外的其他人运行可执行文件,那么两者之间的真正区别是什么?
我怀疑您是要特别询问chmod o+x
,以使other
(即既不user
是指定group
用户又不是指定成员的)用户执行文件。chmod a+x
是的超集chmod o+x
,因为它导通所有3执行权限(user
,group
,和other
)。
然后区别是程序将在其中运行的上下文。与sudo
程序一起在指定用户的上下文中运行;没有sudo
程序运行在当前用户的上下文中。对于某些脚本,这可能根本不重要,但是如果涉及到涉及用户权限的任何内容,那就很重要。也许可以用一个假想的恶意脚本来解释这一点,该脚本将删除用户主目录中的所有文件:
如果用户alice
运行,sudo -u bob deleteHomeFiles.sh
则bob主目录中的文件将全部删除。另一方面,如果直接alice
运行deleteHomeFiles.sh
,则将删除alice的主目录中的文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句