Estou trabalhando com uma distribuição lubuntu 22.04. Preciso executar o seguinte comando por um usuário sem root
privilégios:
> nmcli c add ifname enp3s0 type ethernet con-name 'connection-test'
A saída do comando anterior é a seguinte:
Error: Failed to add 'connection-test' connection: Insufficient privileges
Adicionei o usuário ao grupo netdev
conforme sugerido por este post , mas o problema não foi resolvido. A postagem relata estas frases:
No Debian, o grupo "netdev" ganha acesso para usar o Network Manager. No Ubuntu, os direitos de acesso do Network Manager são obtidos estando no console do sistema, então o nome desta entrada em gnome-system-tools é enganoso.
O grupo "netdev" pode administrar wicd e wpasupplicant.
O grupo "netdev" pode definir o nome do host avahi usando DBus.
O grupo "netdev" pode administrar dispositivos Bluetooth.
Isso significa que no Ubuntu o nome do grupo netdev
é diferente?
É possível que um usuário não root execute o nmcli c add
comando sem sudo
?
Este outro post trata do mesmo assunto e sugere a criação de um serviço, executado com privilégio de root, que cria a NetworkManager
conexão.
O arquivo de interfaces faz parte do ifupdown, que é diferente do gerenciador de rede que você usa. o gerenciador de rede faz parte do nmcli do freedesktop recebe suas permissões do polkit
se você criar um arquivo como este
/etc/polkit-1/localauthority/90-mandatory.d/99-network.pkla
, que concede aos usuários no netdev acesso ao gerenciador de rede,nmcli general permissions
mostrará que os usuários comuns têm permissões.A resposta original do polkit pode ser encontrada aqui https://unix.stackexchange.com/q/692316