我如何允许用户设置 IP 接口

我如何允许用户设置 IP 接口

我想允许特定用户或组使用以下命令管理 IP 接口

ip link set dev $DEV_NAME up
ip -4 addr add $DEV_ipv4_ADDR dev $DEV_NAME

没有超级用户权限(sudo)。以下错误的本质是什么?

RTNETLINK answers: Operation not permitted

出于好奇,我想使用用户运行的脚本设置 ip 接口,并且我不希望它们每次遇到带有“sudo”的语句时都被阻止。我也不想用“sudo”运行整个脚本。

我曾想过运行 sudo chmod +s $(which ip) 但这听起来是个糟糕的主意!!

答案1

sudo我认为仍然是最好的方法。编写脚本,使其只能执行您希望允许用户执行的操作,然后授予访问权限,以visudo允许特定用户以 root 身份运行这些特定脚本。

您说您不想使用 运行整个脚本sudo;那么答案就是将必须以 root 身份运行的部分拆分成单独的脚本,然后运行那些sudo从面向用户的脚本调用。如果您不希望面向用户的脚本显示密码:提示,则可能NOPASSWD带有选项。sudosudo

授予命令的全面 root 访问权限并不是一个好主意,ip因为有人可能很容易破坏系统的网络,而且很可能其中某处存在任意代码执行方法。

相关内容