mutt는 imap 및 smtp에 사용되는 비밀번호를 한 번 묻는 메시지를 표시합니다.

mutt는 imap 및 smtp에 사용되는 비밀번호를 한 번 묻는 메시지를 표시합니다.

내 imap 및 smtp 비밀번호는 동일하며 mutt 버전은 통합 smtp 설정을 사용합니다.

나는 어떤 스크립트에도 내 비밀번호를 저장하고 싶지 않으며 pgp/openssl 암호화를 사용하거나 지갑 비밀번호 관리자를 사용하고 싶지 않습니다. 추가로 제가 원하는 것은 다음과 같습니다.

  • 비밀번호는 한 번만 물어보세요
  • imap과 smtp에 동일한 비밀번호를 사용하십시오. (동일한 mutt 세션에서는 다시 묻지 않습니다.)

이를 달성하는 가장 좋은 방법은 무엇입니까?

내가 생각해낸 솔루션은 다음과 같은 .muttrc 구성 라인을 사용합니다.

set imap_pass=`read -s -p 'mail-password : ' mailpass ; echo $mailpass`
set smtp_pass=$imap_pass

이것은 내 요구 사항에 적합합니다. 제가 mutt를 처음 접했기 때문에 더 좋은 방법이 있는지 알고 싶습니다...

(...imap_pass 및 smtp_pass를 생략한 것처럼 사용하면 mutt가 imap_pass를 묻는 메시지를 표시하고 어떻게든 mutt가 smtp에 대해 동일한 것을 사용하도록 유도합니다.)

답변1

환경 변수에서 비밀번호를 읽는 것이 안전하다고 생각하지 않지만 *
저는 Aaron Toponce의 접근 방식을 좋아합니다(그에게 공로를 인정함:https://p Three.org/2012/01/07/encrypted-mutt-imap-smtp-passwords/):

이렇게 하면 동일한 비밀번호 파일로 여러 계정을 사용할 수 있습니다(그러나 예, 다른 계정에 동일한 패스를 사용하는 것은 권장되지 않습니다).


그냥 필수품(지침은 위의 링크를 참조하세요):

먼저 ~/.mutt/passwords 파일을 만들었습니다. 파일은 일반 텍스트 형식입니다. 암호화하기 전에 내용을 살펴보겠습니다.

set imap_pass="password"
set smtp_pass="password"

그런 다음 다음을 사용하여 파일을 암호화했습니다.

% gpg -r [email protected] -e ~/.mutt/passwords
% ls ~/.mutt/passwords*
/home/user/.mutt/passwords /home/user/.mutt/passwords.gpg
% shred ~/.mutt/passwords
% rm ~/.mutt/passwords

마지막 두 명령은 암호화를 위해 생성한 임시 파일이 GNU Shred 유틸리티를 사용하여 디스크에서 안전하게 지워지는지 확인하는 것입니다. 이제 비밀번호가 포함된 암호화된 바이너리 데이터 파일만 있어야 합니다. 남은 것은 시작 시 이를 해독하도록 Mutt를 구성하는 것입니다. Muttrc에서 이를 쉽게 설정할 수 있습니다.

source "gpg -d ~/.mutt/passwords.gpg |"

고쳐 쓰다:
* 환경 변수가 아닌 메모리에 있습니다:
참조:Mutt는 비밀번호를 메모리 어딘가에 저장해야 하며, 쿼리할 수 있는 설정을 사용합니다. 환경 변수가 아니라 하이브리드 메모리입니다. 비밀번호는 비밀번호에 접근할 수 있는 모든 사람이 사용할 수 있습니다. 일반 Linux 시스템에서 이는 사용자로 실행되는 모든 프로그램입니다. sysctl kernel.yama.ptrace_scope = 1이면 다른 프로그램은 메모리 자체에 액세스할 수 없습니다. 그러나 공격자가 사용자로 코드를 실행할 수 있다면(프로그램을 손상시킨 경우에도 가능) gpg를 실행할 때 사용자의 비밀번호를 얻을 수 있습니다.

관련 정보