pcap

2013-03-20 2 views
4

에 대한 네이티브 Mac OS X 대화창에 대한 권한을 요청하면 Mac OS X에서 기본 대화 상자로 전체 앱에 대한 루트 권한을 요청할 수 있습니다. 네트워크 장치에 대한 루트 액세스가 필요한 패킷 캡처를 수행하고 있습니다. 나는 객관적인 C가 아닌 C++을 사용하고 있습니다. Xcode에서 '루트로 디버그'와 동등한 기능이 필요합니다.pcap

감사합니다.

EDIT : 또는 어떻게 응용 프로그램에 대한 루트 액세스를 요청하는 .app에 osascript를 통합 할 수 있습니까?

답변

5

유닉스에서 프로세스는 자신의 권한을 높일 수 없다. 어쨌든 루트 권한으로 전체 앱을 실행하는 것은 매우 나쁜 생각입니다. 공격 영역이 커질 것이기 때문입니다. 권한이 부여 된 도우미 프로그램을 사용하여 필요한 최소한의 작업을 수행 한 다음 종료하십시오.

Apple의 Secure Coding Guide과 특히 Elevating Privileges Safely에 대한 기사를 참조하십시오.

SMJobBless을 사용하여 권한있는 도우미 도구를 설치할 수 있습니다.

+0

이들은 모두 Objective C 메소드입니다. – mrkva

+0

SMJobBless 샘플 코드에는 Objective-C 코드가 있지만 그 고기는 C API입니다. 'AuthorizationCreate()'와'SMJobBless()'는 모두 C 함수입니다. '-blessHelperWithLabel : error :'메소드 내에서 코드를 가져 와서 C 함수에 이식하고 ('NSLog()'호출을 대체 할 수있다.) 여전히 작동 할 것이다. –