/ usr / bin / security를 ​​사용하여 cron을 통해 키 체인에서 비밀번호를 검색 할 수 없습니다


3

사용자 crontab에서 암호를 실행할 때 / usr / bin / security를 ​​사용하여 키 체인에서 암호를 성공적으로 검색 할 수없는 것 같습니다. 터미널에서 잘 작동합니다.

또한 cron 메일 출력을 통해 내 USER, HOME 및 PATH가 모두 cron 내부에서 올바르게 설정되어 있음을 알 수 있습니다.

cron에서 실행될 때 내 사용자 키 체인이 아닌 내 시스템 키 체인 만 볼 수 있음을 확인할 수있었습니다.

    "/Library/Keychains/System.keychain"
    "/Library/Keychains/System.keychain"

그런 다음 / usr / bin / security에 사용자 키 체인을 명시 적으로 사용하도록 지시했지만 이제 출력이 나오지 않지만 종료 코드는 36입니다.

#security error 36
Error: 0x00000024 36 CSSM_ERRCODE_OBJECT_ACL_REQUIRED

이것이 무엇을 의미하는지 알 수없는 것 같습니다.

cron에서 PATH를 지정하고 bash 로그인 쉘 내부에서 / usr / bin / security를 ​​실행하려고했습니다. bash -l -c /usr/bin/security...

내가 실행중인 cron 명령은 다음과 같습니다.

bash -l -c '/usr/bin/security find-generic-password -g -a myusername -s test_vault /Users/myusername/Library/Keychains/login.keychain 2>&1 ; echo $?'

cron에서받은 메일은 PATH가 성공적으로 선택되었음을 보여줍니다.

어떤 아이디어? 감사!

답변:


4

cron 자체가 루트로 실행되기 때문에 여전히 내 키 체인에 액세스 할 수 없으므로 crontab에서 이것을 실행하려고 시도한 것처럼 보입니다.

작업을 예약하기 위해 대신 launchd를 사용하는 것에 대해 이야기하는 블로그 게시물을 찾았 으며 이제는 작업을 통해 제대로 작동합니다! :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.