为什么我必须以 root 身份运行 ifconfig 命令?

为什么我必须以 root 身份运行 ifconfig 命令?

我最近从 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

添加/sbinPATH环境变量:

export PATH="$PATH:/sbin"

相关内容