응용 프로그램 암호를 삭제하려고합니다. 나는 security delete-generic-password
명령. 터미널을 통해 실행하면 모든 것이 정상적으로 작동하며 암호가 삭제됩니다.
쉘 스크립트에 같은 명령을 포함시킨 다음 Xcode를 통해 실행하면 암호가 삭제되지 않습니다. 문제는 security
명령은 루트 암호를 얻을 수 없습니다.
설치 제거 프로그램에서 삭제 중이므로 아무 것도 실행하기 전에 루트 암호를 묻습니다. 그 후 Xcode 프로젝트를 통해이 스크립트를 호출합니다. 이미 루트 암호가 있으므로 다음과 같이 sudo 명령을 실행합니다.
sudo security delete-generic-password password_name "/Library/Keychains/System.keychain"
나는 희망 sudo
이미 제거 프로그램에서 실행하기 전에 이미 인증을하고 있기 때문에 내부적으로 루트 암호를 얻습니다.
이 명령의 리턴 코드는 무엇입니까?
—
Daniel Beck
그런데 언제든지 소식을 수정하여 추가 정보를 제공 할 수 있습니다. 이전에 게시 된 질문을 삭제하고 본질적으로 같은 것을 다시 게시 할 필요가 없습니다.
—
Daniel Beck
나는 그 문제를 확인했다. 문제는 터미널을 통해 명령을 실행할 때 암호를 묻는 것이며 입력 한 후 키 체인을 삭제하면 올바른 것입니다. 그러나 Xcode 프로젝트를 통해 스크립트를 사용하고 Xcode 프로젝트를 실행하려고하면 필수적인 UI가 없으므로 암호를 잊어 버리지 않고 암호를 삭제할 수없는 이유가 있습니다. 이제는 모두 알고 싶습니다. 어떻게 암호를 묻는 UI를 올려 놓고 암호를 보안 명령에 전달할 수 있습니까?
—
chitnisprasanna
내가 콘솔에서 체크했을 때이 에러에 tty가없고 어떤 askpass 프로그램도 지정되지 않았다. TTY = 알 수 없음; PWD = /; USER = root; ..
—
chitnisprasanna
그런 다음이 코드를 실행하는 환경에 문제가 있으며, 자세하게 설명하지 않았습니다. 도움이 필요하면, 자세히 설명하다 다른 사용자가 OS X 설치 프로그램이나 제거 프로그램을 작성하지 않고 처음부터 문제를 재현 할 수있는 방법. 질문을 편집하고 관련 정보를 추가하십시오.
—
Daniel Beck