메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


*출처 : http://m.blog.naver.com/bansd2/40121228968


제목과 같은 프로그램을 이용하는 이유는 메일서버를 만들기 위함이며, saslauthd는 smtp인증을 받아야지만

메일을 보낼 수 있게 하기 위한 인증 모듈이다.

 

아웃룩에서 보내는 메일을 smtp인증을 받게 하기 위해서 사용을 하였다.

 

우분투에서 sendmail과 dovecot, saslauthd를 설치하기는 쉽다.

(sendmail 설치는 https://www.gooper.com/ss/index.php?mid=bigdata&category=2809&document_srl=3456 를 참조한다)


설치는 전부 root권한으로 진행하였다.

 

#apt-get install libsasl2-2 libsasl2-modules sasl2-bin

#apt-get install dovecot-pop3d dovecot-imapd

 

위와같이 하면 설치는 완료다.

 

문제는 설정!!!

 

이것때문에 난 한달에 가까운 시간을 버렸다.

 

일단 smtp인증을 받기 위해서 sendmail.cf 과 sendmail.mc 를 수정한다.

 

먼저 sendmail.mc 수정

 

dnl # These are the allowed auth mechanisms. To allow relaying for a userdnl # that uses one of them, you must set TRUST_AUTH_MECH.define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnldnl # These are the SMTP auth mechanisms which, if used,dnl # Sendmail will allow relaying for. TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl 

위 문장을 없으면 추가하고 있으면 위 문장과 같이 만든다.

그리고 Addr=127.0.0.1 이라고 나와있는 부분이 있을 텐데 이걸 전부 지워주거나 0.0.0.0으로 변경해준다.

그래야지만 다른 곳에서 아웃룩 등을 이용하여 메일 사용이 가능해진다.

 

저장 후 콘솔에서 m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf 입력

 

그 다음은 sendmail.cf 확인

 

O AuthMechanisms=LOGIN PLAIN DIGEST-MD5 CRAM-MD5  <-주석 되어 있는지 확인 후 주석있으면 제거

 

그 다음은 local-host-names 수정

/etc/mail/local-host-names 파일을 메일을 받을 도메인으로 수정해준다.

 

xxxx.co.kr처럼

 

마지막으로 Sendmail.conf 수정(없으면 생성)

/usr/lib/sasl2/Sendmail.conf 파일을 수정 및 생성하여 아래 내용을 기입한다.

pwcheck_method: saslauthd

 

이상으로 설정이 끝났다.

센드메일과 sasl을 재시작(시작)한다.

 

/etc/init.d/sendmail start(또는 restart)

(우분투는 service sendmail restart)


/etc/init.d/saslauthd start(또는 restart)

(우분투는 service sendmail restart)

 

원래는 access도 수정해야 하지만 smtp인증을 받으면 굳이 access에 RELAY설정을 하지 않아도

메일이 잘 간다.

스팸때문에 sasl를 설정하는 것이라면 access를 아무 것도 없이 하는 것도 좋은 방법인 것 같다.

 

 

 dovecot 설정

 

/etc/dovecot/dovecot.conf를 수정한다.

 

protocols = imap imaps pop3 pop3s

 

dovecot이 메일을 받을 프로토콜을 설정하는 구문이다. pop3만 넣어도 무관하다.

 

listen = *

 

위처럼 하면 모든 포트를 다 열고 대기하겠다는 뜻인것 같다. 자세히는 모르겠다.

 

disable_plaintext_auth = no

 

인증을 사용할지 안 할지를 설정하는 것 같은데 현재는 smtp인증을 사용하므로 no라고 해주면 되겠다.

(안해줘도 되는지는 자세히 모름)

 

mail_location = mbox:~/Maildir:INBOX=/var/mail/%u

 

마지막 설정이다. 메일을 보관할 폴더를 설정하는 부분이다. maildir로 설정할 수도 있는데 현재 dovecot(이 글을 쓰는 시점의 dovecot)은 mbox로 해야지만 제대로 작동한다. ~/Maildir <- 이 부분을 메일을 받기 원하는 디렉토리로 지정하면 된다.

 

설정이 다 끝나면 /etc/init.d/dovecot restart(또는 start)를 해주면 된다.


* pop3테스트(메일 주소로 사용할 메일주소(예, admin)의 OS계정이 미리 생성되어 있어야하며 

해당 계정의 home디렉토리 밑에 /home/admin/Maildir폴더가 메일주소로 사용할 계정으로 (예, admin) 소유자가 

설정되어 있어야 한다)


telnet localhost 110을 실행해서 접속이 되면 실행중인것이다.

(오류발생시 : https://www.gooper.com/ss/index.php?mid=bigdata&category=2809&page=1&document_srl=3497 참조)

 

이제 모든 설정이 다 끝났다. 아웃룩에서 smtp인증을 선택하고 메일을 보내면 끝이다.


추가 : dovecot에 SSL설정하는 방법 : http://blog.naver.com/jinkalee_new/220857802628




 

번호 제목 날짜 조회 수
741 [Ranger]RangerAdminRESTClient Error gertting pplicies; Received NULL response!!, secureMode=true, user=rangerkms/node01.gooper.com@ GOOPER.COM (auth:KERBEROS), serviceName=cm_kms 2023.06.27 73
740 [vue storefrontui]외부 API통합하기 참고 문서 2022.02.09 80
739 [Encryption Zone]Encryption Zone에 생성된 table을 select할때 HDFS /tmp/zone1에 대한 권한이 없는 경우 2023.06.29 83
738 ./gradlew :composeDown 및 ./gradlew :composeUp 를 성공했을때의 메세지 2023.02.20 84
737 [EncryptionZone]User:testuser not allowed to do "DECRYPT_EEK" on 'testkey' 2023.06.29 89
736 [vi] test.nq파일에서 특정문자열(예, <>)을 찾아서 포함되는 라인을 삭제한 동일한 이름의 파일을 만드는 방법 2017.01.25 98
735 [Impala] alter table구문수행시 "WARNINGS: Impala does not have READ_WRITE access to path 'hdfs://nameservice1/DATA/Temp/DB/source/table01_ccd'" 발생시 조치 2024.04.26 98
734 CM의 Impala->Query tab에서 FINISHED query가 보이지 않는 현상 2021.08.31 99
733 restaurant-controller,에서 등록 예시 2022.04.30 99
732 주문히스토리 조회 2022.04.30 99
731 [Hue metadata]Oracle에 있는 Hue 메타정보 테이블을 이용하여 coordinator와 workflow관계 목록을 추출하는 방법 2023.08.22 99
730 [Cloudera Agent] Metadata-Plugin throttling_logger INFO (713 skipped) Unable to send data to nav server. Will try again. 2022.05.16 103
729 oozie의 sqoop action수행시 ooize:launcher의 applicationId를 이용하여 oozie:action의 applicationId및 관련 로그를 찾는 방법 2023.07.26 104
728 [CDP7.1.6,HDFS]HDFS파일을 삭제하고 Trash비움이 완료된후에도 HDFS 공간을 차지하고 있는 경우 확인/조치 방법 2023.07.17 107
727 [CDP7.1.7, Replication]Encryption Zone내 HDFS파일을 비Encryption Zone으로 HDFS Replication시 User hdfs가 아닌 hadoop으로 수행하는 방법 2024.01.15 110
726 주문 생성 데이터 예시 2022.04.30 112
725 호출 url현황 2023.02.21 112
724 [CDP7.1.7, Hive Replication]Hive Replication진행중 "The following columns have types incompatible with the existing columns in their respective positions " 오류 2023.12.27 116
723 eclipse 3.1 단축키 정리파일 2017.01.02 118
722 [CDP7.1.7]Oozie job에서 ERROR: Kudu error(s) reported, first error: Timed out: Failed to write batch of 774 ops to tablet 8003f9a064bf4be5890a178439b2ba91가 발생하면서 쿼리가 실패하는 경우 2024.01.05 118
위로