bea*_*mit 17 sudo environment-variables
当我运行 sudo 时,我的环境到底发生了什么?
当我运行时sudo command,它似乎没有看到我或 root 的环境。例如,我的两个路径都包含/usr/local/bin,但是如果我尝试在没有完整路径的情况下运行程序之一,则会失败。
我以为 sudo 以 root 身份运行,因此获得了 root 的环境。bash 在 sudo 下执行的方式与在 root 或我的普通用户下执行的方式不同吗?
编辑:
我sudo -i最近一直在使用,但最近它引起了问题,因为我当前的工作目录被设置为/root. 这符合预期(有点),但我仍然不明白为什么 sudo 无法识别我的/usr/local/bin.
编辑:
我正在运行 Fedora 15。
我不知道 Fedora 上的sudo默认设置,但在 Debian 上默认使用secure_path默认值为/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin.
这意味着每次使用时路径都会更改为该值sudo;但是当您使用 时sudo -i,root 用户的 RC 文件会在此之后更改路径。
你可以用类似的东西很容易地检查这个
比较输出
sudo env
env
Run Code Online (Sandbox Code Playgroud)
还有像
sudo whoami
whoami
Run Code Online (Sandbox Code Playgroud)
这样您就可以尝试找出您的设置中缺少什么。
| 归档时间: |
|
| 查看次数: |
24627 次 |
| 最近记录: |