如何授予用户更改 IP 地址的权限?

如何授予用户更改 IP 地址的权限?

我需要用户能够更改 IP 地址,而不授予他完全的超级用户访问权限。我怎样才能做到这一点?

我在这里尝试了解决方案https://serverfault.com/a/480823 这很好用,但只有一次,然后我必须再次重做这些步骤。

我如何授予用户随时更改 IP 地址的权限?

编辑:我没有rm该文件,如上面的链接所述。但是当我再次尝试时,我收到类似的错误

SIOCSIFADDR: Permission denied
SIOCSIFFLAGS: Permission denied
SIOCSIFNETMASK: Permission denied
SIOCSIFBROADCAST: Permission denied

就像我ifconfig直接使用一样。

答案1

更改 IP 地址的简单方法是在命令行上使用ifconfig

# ifconfig   <interface>   <ipaddress>   netmask  <netmask>

  sudo /sbin/ifconfig  192.168.0.1 netmask 255.255.255.0

# for changing gateway if desired

  sudo /sbin/route add default gw 192.168.0.253 eth0

您使用编辑 sudoers 文件visudo

选项1:创建一个新组,名为ipchangers例如。然后在 visudo 中追加到文件底部

%ipchangers ALL = NOPASSWD: /sbin/ifconfig
%ipchangers ALL = NOPASSWD: /sbin/route       {if desired}

请务必指示您的ipchangers用户必须输入sudo /sbin/ifconfig。然后您将所有用户添加到ipchangers您希望有能力运行的组ifconfig

选项2:仅为特定用户执行此操作杰克例如,您在没有 % 的情况下执行此操作

john   ALL=NOPASSWD:  /sbin/ifconfig
jack   ALL=NOPASSWD:  /sbin/ifconfig

退出时visudo应该干净地退出。如果没有,它会给出类似的东西

>>> /etc/sudoers: syntax error near line 57 <<<
What now?

那么你的语法是错误的。按照后续说明并更正语法,不要保存错误的 sudoers 文件。

请注意,无论您授予谁运行能力,ifconfig都可以ifconfig最大程度地使用它,并且可以做的不仅仅是更改 IP 地址。

答案2

如果您跳过命令rm ifconfig(您链接的解决方案中的最后一行),您应该可以继续。但是让非系统管理员这样的命令ifconfig在无人监督的情况下一直使用是一场安全噩梦。他可能没有恶意,但如果发生了什么事,其他人掌握了这个帐户,那么,你可以猜到他们会造成什么后果。只是警告一下。

相关内容