다른 네트워크 네임스페이스에서 새 프로세스(예: xterm)를 실행하고 싶습니다. 이는 다음과 같이 수행할 수 있습니다.
sudo ip netns exec otherns sudo -u $USER xterm
sudo
이 명령 은 약간 복잡해 보이며 ip
마지막 sudo
.xterm
새 네임스페이스에서 프로세스를 실행하는 더 직접적인 방법이 있나요?
네임스페이스를 전환하고, 권한과 사용자를 복원하고, 명령을 실행할 수 있는 작은(SUID 또는 기능 활성화) 바이너리를 작성하려고 하는데, 이를 수행할 수 있는 표준 도구가 이미 있어야 하지 않습니까?
이렇게 하면 다음과 같이 간단히 호출할 수 있습니다.
runns otherns xterm
답변1
--setuid
선택 이 가능한가요?nenter(1)당신을 구하러 오셨나요? 좋다:
sudo nsenter --net=/run/netns/otherns --setuid 1000 --setguid 1000 xterm