우선 : 결코 로그인 플러그 인을 콘솔 로그인 권한으로 디버깅하기 시작하지 마십시오. 운영 체제가 운영 중에 호출해야하는 다른 권한과는 완전히 독립적 인 auth db에 특수 테스트 "더미"권한을 만들어야합니다. "MyTestRight-RemoveMeAfterTest"와 같이 호출합니다.
"보안 authorizationdb 쓰기 MyTestRight-RemoveMeAfterTest < MyTestRight-RemoveMeAfterTest_plist_file"
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>class</key>
<string>evaluate-mechanisms</string>
<key>comment</key>
<string>Used to validate a terminal user.</string>
<key>mechanisms</key>
<array>
<string>NameAndPassword:invoke</string>
</array>
</dict>
</plist>
하면 터미널에서 "보안"명령으로 설치 :
처럼 뭔가를 보이는 PLIST 파일을 만듭니다
auth db를 여전히 손으로 편집하지 마십시오. 10.9 이전의 osx의 경우와 마찬가지입니다. 실수로 파일을 구문 분석 할 수 없으면 상처를 입을 수 있습니다. 나는 거기에 있었다. 나는 수년간 이러한 플러그인을 해왔다. os가 파일을 읽을 수 없다면 로그인 할 때 플러그인이 멈추지 않는 한 같은 상황에 처하게 될 것입니다. SSH를 사용할 수있는 예지력이 없다면 다른 파티션으로 부팅하거나 타임머신 백업에서 부팅해야합니다. 후자의 경우 최근 편집 내용을 일부 외장 드라이브에 저장 한 것이 좋습니다.
db를 설치 한 후에는 외부 프로그램에서 테스트해야합니다.
이름과 암호 예제에 포함 된 readme 파일에 나와있는 보안 인프라를 호출하고 운영 체제처럼 권한을 요청해야합니다.
사과 샘플을 사용할 때는주의하십시오. 지침으로 만 사용하십시오. NameAndPassword는 오류가 있으며 결코 실행될 수 없습니다. 2006 년에 마지막으로 업데이트되었으며 현재 사용되지 않는 많은 기능을 사용합니다. 실제로 아무것도하지 않지만 단지 쉘입니다.
나는 Mavericks에서 작동하지만 Mountain Lion에서 컴파일되는 NameAndPassword 예제를 기반으로하는 플러그인이 있습니다. Mavericks에서 컴파일하는 데 문제가 있습니까? – TheDarkKnight
빌드 옵션 메뉴에서 SDK를 현재 (10.9)로 지정하면 빌드 가능합니다 (NameAndPassword의 경로는 10.9에없는 10.5 SDK로 하드 코드됩니다). 또한 기본 플랫폼 목록을 사용하여 무언가를 수행해야합니다. 그러면 문제없이 빌드됩니다. 그러나 문제는 무엇인가? NameAndPassword 예제를 인증 할 수 없다는 것입니다. 암호를 입력하고 버튼을 누르거나 아무 반응이 없으면 SSH를 통해 비활성화해야합니다. @ Merlin069 당신이 그걸 도울 수 있다고 생각하니? Xcode로 디버깅하는 방법을 알고 있지만 근처에 다른 Mac이 없습니다. –
@ MichałSiwek, 예제와 다른 경우, 코드에 대한 예제를 제공하므로 새로운 질문으로 추가 할 수 있습니까? – TheDarkKnight