2014-11-05 3 views
0

내 응용 프로그램에서 네트워크 인터페이스에 /에서 IP 주소를 추가하거나 제거해야합니다. 그러나 나는 이것을하기의 안전하고 믿을 수있는 방법을 찾아 낼 수 없었다.리눅스에서 파이썬 2.7로 IP 앨리어싱

subprocess(["ip addr add ..."])을 사용하려고 생각했지만 ip 명령에 sudo 권한이 필요하고 응용 프로그램의 권한을 높이고 싶지 않습니다. 암호를 하드 코딩하지 않아도됩니다. 나는 선택권이없는 것처럼 느낀다.

이러한 종류의 작업을 용이하게하는 Python 모듈이 있습니까 (예제 구현이 좋을 것입니다).

subprocess이 나의 유일한 옵션 인 경우이 방법을 안전하게 할 수 있습니까? (내 응용 프로그램에서 사용되는 하드 코드 된 암호를 사용하여 별도의 바이너리를 컴파일 생각하지만 올바른 소리를하지 않았다.)

답변

1

아무리 당신이 무엇을, 당신은 거의 확실히 인터페이스를 수정 sudo privs 및 필요 없습니다 . 파이썬 모듈은 그것을 변경할 수 없습니다. 가장 안전한 방법은 특별히이 스크립트를 실행하기위한 사용자 또는 그룹을 만들고 암호가없는 sudo 을 허용하고 명령을 (ip 등)으로 제한하는 것입니다. 다음은 특정 명령 만 허용하는 방법입니다. https://askubuntu.com/questions/159007/how-do-i-run-specific-sudo-commands-without-a-password

+1

"파이썬 모듈로 변경할 수 없습니다." 나는 인정했다. 나는 마법을 찾고 있었다. :) –

+0

'worker.DoJob ("mine")' :) – ErlVolton

관련 문제