Privilégios para ifconfig

4

Para fazer o ifconfig no Linux e alterar o IP e o VIP, ele exige privilégios de root?
Ou também é possível fazer isso por meio de uma conta não-root?

    
por user76678 20.02.2013 / 20:15

3 respostas

10

Você não precisa de acesso root para usar ifconfig para alterar endereços IP, apenas CAP_NET_ADMIN . Vamos criar uma cópia de ifconfig com CAP_NET_ADMIN ativado para ver isso:

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
    
por 20.02.2013 / 20:32
3

Sim, você deve ser root para usar o ifconfig, pois ele geralmente está localizado no diretório /usr/sbin ou /sbin . Sendo não-root, o binário ifconfig não está nem na sua variável de ambiente PATH. Então, você deve ser root, ou o sudo deve ser configurado. Mas a maneira moderna é usar o utilitário ip em iproute2 packet. Você pode usá-lo em um usuário não privilegiado para ver informações sobre links, interfaces e roteamento. No entanto, você deve ser root para alterar as configurações.

    
por 20.02.2013 / 20:20
1

Isso é trivial para testar:

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

Então, sim, isso requer raiz.

    
por 20.02.2013 / 20:17