为了在Linux中执行ifconfig并更改IP和VIP,需要根权限吗?
或者也可以通过一个非根帐户来实现这一点?
发布于 2013-02-20 19:32:53
使用ifconfig更改IP地址不需要根访问权限,只需要帽子_NET_管理员。让我们创建一个ifconfig的副本,启用CAP_NET_ADMIN来查看以下内容:
cp /sbin/ifconfig .
sudo setcap cap_net_admin=eip ./ifconfig
./ifconfig eth0 1.2.3.4 # succeeds
# Wouldn't want to leave this copy of ifconfig around,
# It's a security hole!
rm ifconfig发布于 2013-02-20 19:20:01
是的,您必须是使用ifconfig的根目录,因为它通常位于/usr/sbin或/sbin目录中。作为非根变量,ifconfig二进制文件甚至不在PATH环境变量中。所以,你应该是根,否则必须设置sudo。但是现代的方法是从ip包中使用iproute2实用程序。您可以在非特权用户下使用它来查看有关链接、接口和路由的信息。但是,您必须是根用户才能更改设置。
发布于 2013-02-20 19:17:57
这是很简单的测试:
% ifconfig lo 1.2.3.4
SIOCSIFADDR: Permission denied
SIOCSIFFLAGS: Permission denied所以是的,它需要根。
https://serverfault.com/questions/480812
复制相似问题