我有一个 Ubuntu 14.04 VM 和 3 个用户(root、prod、git)
prod$ groups
prod
git$ groups
git prod
我已经在 VM 上为每个用户安装了 ruby 并运行,source /home/prod/.rvm/scripts/rvm
以便我可以从每个用户(包括 root)运行“compass”。
我有一个使用指南针的 Python 脚本,它位于 /home/prod/my-compass-script
我不明白的是,如果我运行以下任何命令:
git$ python /home/prod/my-compass-script
prod$ python /home/prod/my-compass-script
root$ python /home/prod/my-compass-script
一切都很好,但如果我运行这个命令
git$ sudo -u prod /usr/bin/env python /home/prod/my-compass-script
然后我得到
Could not run compass: [Errno 2] No such file or directory
如果没有安装指南针,就会出现这样的错误。
我错过了什么?:)
PS 用户 git 有 sudo 权限。如果我运行
git$ sudo -u prod python --version
一切正常,我得到了正确的答案。
编辑1: 这是一个比较简单的问题,但与我想要了解的类似:
为什么这两个命令返回不同的输出?
prod$ echo $PATH
git$ sudo -u prod echo $PATH