3 votes

Comment définir les espaces de noms du réseau Linux en tant qu'utilisateur non root ?

J'ai configuré un espace de noms de réseau pour un VPN afin que tout le trafic ne passe pas par le VPN.
Cela fonctionne bien quand je tape :

sudo ip netns exec vpn firefox

Tout le trafic de Firefox passe maintenant par le VPN comme prévu. Le problème est que tous les programmes qui sont lancés de cette façon ont des autorisations root.
J'ai essayé de le faire :

sudo ip netns exec vpn sudo -u user firefox

Bien que l'application démarre bien, elle "quitte" l'espace de noms et n'utilise plus le vpn.

Quelqu'un peut-il m'aider ?

1voto

James Mertz Points 390

Les processus ne peuvent pas "quitter" un espace de noms - la fonction setns(2) nécessite les privilèges de l'administrateur.

Mais il est fort probable que vous ayez déjà une instance existante de Firefox fonctionnant en dehors de l'espace de noms. Lorsque vous lancez Firefox une deuxième fois, il demande simplement à l'instance existante d'ouvrir une nouvelle fenêtre.

Vous pouvez éviter cela en utilisant des profils Firefox distincts, par ex. firefox -profile /tmp/testfox .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X