我想让系统上的每个人都能够更改网络接口的 IP 地址。我写了/etc/udev/rules.d
这样的规则:
SUBSYSTEM=="net", ATTR{address}="00:0c:26:c6:70:93", NAME="nic", MODE="0666"
规则匹配,并且我的接口在输出nic
中命名。ifconfig
问题是,当我以普通用户登录时,他仍然无法使用ifconfig
.普通用户尝试此操作会返回以下错误消息:
SIOCSIFADDR: Operation not permitted
SIOCSIFFLAGS: Operation not permitted
问题是什么 ?
答案1
网络接口通常根本不会出现/dev
。它们的配置不是通过访问设备文件来完成的,而是通过访问 NETLINK 套接字来完成的。我认为您不能向普通用户授予对此套接字的访问权限。
您需要一个合适的 sudo 规则(可能还需要一个包装脚本),以便用户可以调用ip addr
.