我有一个程序运行如下命令:
/home/myuser/bin>> /usr/bin/sudo -u otheruser script.py /home/otheruser/file.txt
这是可行的,但现在当程序从不同位置运行时我需要它才能工作,所以我将其更改为使用完整路径:
/home/myuser/bin>> /usr/bin/sudo -u otheruser /home/myuser/bin/script.py /home/otheruser/file.txt
结果是:
can't open file '/home/myuser/bin/runmacroscript.py': [Errno 13] Permission denied
这是同一个文件,那么为什么完整路径会有所不同呢?
答案1
您otheruser
无法访问/home/myuser/bin/runmacroscript.py
.其中一个或两个/home/myuser
的目录权限/home/myuser/bin
限制过多。
当您已经在目录中时它起作用的原因/home/myuser/bin
是otheruser
不必遍历目录树即可到达那里。