不使用 sudo 运行 ifconfig

Irg*_*ter 7 linux sudo embedded ifconfig busybox

我有一个在 imx6 平台上运行的嵌入式 Linux。这是一个飞思卡尔嵌入式linux。问题是该 linux 没有可用的 sudo,但我需要由用户激活和停用 wlan0 设备。我试图将用户添加到组 root 没有任何成功。我还尝试将整个命令添加到 /etc/busybox.conf 文件中,但这也没有效果。

如何在没有 sudo 的情况下以用户身份运行此命令?

user@touch:~$ /sbin/ifconfig eth0 down
SIOCSIFFLAGS: Permission denied
Run Code Online (Sandbox Code Playgroud)

GAD*_*D3R 8

您不需要使用sudo来运行ifconfig命令,只需确保/sbinPATH 上。

作为非特权用户运行:

export PATH=$PATH:/sbin
ifconfig
Run Code Online (Sandbox Code Playgroud)

  • 这与OP的要求无关。运行“/sbin/ifconfig”与在路径中运行“/sbin”的“ifconfig”完全相同 (2认同)
  • @LưuVĩnhPhúc 是的,您将能够读取“ifconfig”命令的输出; `/sbin/ifconfig` 可以工作,但写访问将被拒绝,例如:`/sbin/ifconfig wlan0 down` 将不起作用 (2认同)

小智 6

如果信任任何非 root 用户这样做,您只需在 ifconfig exec 上添加一个 setuid 标志:

chmod 4755 /sbin/ifconfig
Run Code Online (Sandbox Code Playgroud)

它将向任何人授予执行此可执行文件的 root 权限。当然,您需要具有 root 访问权限才能运行 chmod。