作为 sudo 用户使用 PATH 变量时出现的问题

作为 sudo 用户使用 PATH 变量时出现的问题

我很难理解PATH变量是如何受到影响的sudo。我可以以普通用户身份运行该命令,activator因为我已将此应用程序所在的路径添加到该用户的.bashrc文件中。我还可以确保情况确实如此:

user@kubuntu:~$echo $PATH
/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/activator-1.3.2

但是,当我尝试运行时sudo activator,我得到了 sudo:

激活器:未找到命令

我尝试通过添加路径/opt/activator-1.3.2来解决这个问题/etc/environment,但我仍然得到相同的“命令未找到”错误,即使sudo echo $PATH显示该/opt/activator-1.3.2路径在 PATH 变量中。更让我困惑的是,如果我运行sudo su,则激活器命令可以正常运行。

答案1

你总是可以这样做:

sudo env "PATH=$PATH" godi_console 作为 Debian 上的安全措施,/etc/sudoers 将 secure_path 选项设置为安全值。

相关内容