2017-05-05 1 views
0

나는 나의 맨끝에있는 뒤에 오는 명령을 달리고있다.GUI를 통해 암호를 묻는 sudo를 얻으십시오

는/usr/빈/-e는 osascript '쉘 스크립트를 수행 "/ 경로 /로는/myscript라는 인수 2> & 1 등"을 관리자 권한'

문제는 GUI가 비밀번호를 요구하기위한 개방되어

하지만, 그것은 osascript는 변경하고 싶다고 말합니다. osascript라는 단어를 내 자신의 단어로 변경하고 싶습니다.

최상의 솔루션은 무엇입니까?

답변

0

비밀번호를 묻는 대화 상자는 osascript 도구의 일부이므로 사용자가 변경할 수있는 것 같지 않습니다. 자신의 GUI 응용 프로그램을 작성하여 암호를 묻고 승격 된 권한으로 명령을 실행해야합니다.

+0

GUI가 있지만 사용자 이름과 비밀번호를 묻고 싶습니다. 위 명령 대신 어떤 명령을 사용해야합니까? –

+0

매우 복잡한 주제입니다. 고맙습니다. https://developer.apple.com/library/content/documentation/Security/Conceptual/SecureCodingGuide/Articles/AccessControl.html –

+0

감사합니다. 나는 전체 문서를 읽었지만 여전히 성취 할 수 없었다. –

0

expect 명령을 사용하여 다양한 입력 문제를 처리 할 수 ​​있습니다.

0

어떨까요?

let command = "do shell script \"/path/to/myscript args 2>&1 etc\" with administrator privileges" 
let script = NSAppleScript(source: command) 

let output = script?.executeAndReturnError(nil) 

print(output) 

이 명령을 실행하고 (나는 코코아 응용 프로그램이 사용하고) 현재 응용 프로그램의 이름을 가진 GUI 프롬프트를 표시합니다. Process 클래스를 사용하는 것과는 대조적으로이 단점은 명령의 성공에 대한 정보를 얻지 못한다는 것입니다. 출력을 얻는 것뿐입니다.

관련 문제