Назад | Перейти на главную страницу

Привилегии для ifconfig

Чтобы сделать ifconfig в линуксе и поменять IP и VIP нужны ли root привилегии?
Или это тоже можно сделать через некорневую учетную запись?

Вам не нужен root-доступ для использования ifconfig только для изменения IP-адресов CAP_NET_ADMIN. Создадим копию 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

Да, вы должны быть root для использования ifconfig, поскольку он обычно находится в /usr/sbin или /sbin каталог. Не являясь корневым, двоичный файл ifconfig отсутствует даже в вашей переменной среды PATH. Итак, вы должны быть root или sudo нужно настроить. Но современный способ - использовать ip полезность от iproute2 пакет. Вы можете использовать его под непривилегированным пользователем, чтобы увидеть информацию о ссылках, интерфейсах и маршрутизации. Однако для изменения настроек вы должны быть root.

Это легко проверить:

% ifconfig lo 1.2.3.4
SIOCSIFADDR: Permission denied
SIOCSIFFLAGS: Permission denied

Так что да, для этого нужен рут.