Кажется, я не могу успешно получить пароли из цепочки для ключей, используя /usr /bin /security, когда запускаю его из моего пользовательского crontab. Прекрасно работает в моем терминале.
Через вывод почты 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
Я не могу понять, что это значит.
Я указал свой PATH в cron и попытался запустить /usr /bin /security из оболочки входа в bash через 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 успешно получен.
Есть идеи? Спасибо!