仅当使用“sudo su -c”时权限被拒绝

仅当使用“sudo su -c”时权限被拒绝

我目前正尝试以与我登录的用户不同的用户身份运行脚本。

我想以main用户身份运行以下命令,让用户local执行脚本:

sudo su local -c "/home/main/some/folders/script"

但我有一个Permission denied输出。

不过,如果我以本地用户身份登录sudo su local,然后运行脚本,一切正常。该文件的权限为775 main main,并且用户本地属于该组local main

这可能是什么原因造成的,如何解决?

谢谢

答案1

本地用户是否有权访问文件路径中的文件夹?仅仅因为它对文件有权限并不意味着它可以访问该文件。

以用户主身份尝试

su local
<enter password>
touch /home/main/some/folders/script

为了解决这个问题,你需要 chmod g+rx 路径中的每个目录

(请注意,要运行脚本,用户实际上并不需要目录的读取权限,只需执行权限。)

相关内容