我目前正尝试以与我登录的用户不同的用户身份运行脚本。
我想以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
路径中的每个目录
(请注意,要运行脚本,用户实际上并不需要目录的读取权限,只需执行权限。)