다음 gpg 명령을 사용하여 루프의 많은 파일을 암호화하는 "USER A"의 cron에서 스크립트를 실행하는 cron 작업이 있습니다.
gpg --batch --cipher-algo AES256 --passphrase "PASSWORDISHERE" -c FILENAME
"사용자 A"는 높은 권한을 갖고 있으며 SSH를 통해 연결할 수 없으며 필요할 때만 일반 사용자에 의해 로그인됩니다. 따라서 SSH를 통해 본인(Bob)으로 로그인하면 암호화된 파일을 해독할 수 있습니다. 그러나 사용자 A로 "su -" 전환하고 암호 해독을 시도하면 다음 오류가 발생합니다.
gpg: AES256 encrypted data
can't connect to `/home/USERA/.gnupg/S.gpg-agent': No such file or directory
gpg-agent[27859]: command get_passphrase failed: Operation cancelled
gpg: cancelled by user
gpg: encrypted with 1 passphrase
gpg: decryption failed: No secret key
나는 많은 연구를 했고 tty와 pinentry에 관련된 많은 것들을 발견했습니다. 내가 찾은 유일한 해결책은 을 사용하는 것입니다 chmod o+rw $(tty)
. 그러나 그것은 나에게 좋은 장기적인 해결책이 아니며 어쨌든 이 접근 방식을 사용하고 싶지 않다는 것은 말할 것도 없습니다. 누구든지 더 좋은 생각이 있나요?