![为什么我必须以 root 身份运行 ifconfig 命令?](https://linux22.com/image/817837/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E5%BF%85%E9%A1%BB%E4%BB%A5%20root%20%E8%BA%AB%E4%BB%BD%E8%BF%90%E8%A1%8C%20ifconfig%20%E5%91%BD%E4%BB%A4%EF%BC%9F.png)
我最近从 Ubuntu 10.04 LTS 切换到 12.04 LTS,我注意到的一个变化是,当我尝试运行命令 ifconfig(例如查看我自己的 ip)时,我得到以下输出:
命令“ifconfig”在“/sbin/ifconfig”中可用 无法找到该命令,因为“/sbin”未包含在 PATH 环境变量中。这很可能是由于您的用户帐户缺乏管理权限造成的。 ifconfig:未找到命令
为了运行该命令,我必须运行 sudo ifconfig。在 10.04 中情况并非如此,所以我想知道:这种变化有什么原因吗?这是 12.04 的预期行为,还是我的设置有问题?希望其他运行 Ubuntu 12.04 的人可以尝试运行该命令,看看他们是否得到与我相同的结果。
答案1
正如消息所示,问题在于 ifconfig 不在您的路径中。您可以通过提供完整路径以普通用户身份运行它:/sbin/ifconfig
。试试看!
我的猜测是,在 10.04 上你添加了/sbin/
路径,而在升级到 12.04 时没有这样做。
但请注意,如果您想使用 ifconfig 来更改网络配置,您将需要成为 root 用户;我希望这样做的原因非常明显 :)
答案2
添加/sbin
到PATH
环境变量:
export PATH="$PATH:/sbin"