2024. 2. 19. 09:38ㆍLinux/CentOS7
메일 서비스를 위해서 3가지 App을 설치해주자
sendmail, sendmail-cf, dovecot
sendmail, sendmail-cf >> 보내는 메일 App
dovecot >> 받는 메일 App
보내기위한 메일 서버
sendmail


그런 뒤
sendmail 설정 파일이 있는 /etc/mail 디렉토리를 살펴보자

우리는 지금 크게 4가지 파일을 수정 할 것이다.
먼저 sendmail.mc를 vi 편집기로 수정하자
sendmail.mc 파일은 특이하게 주석이 dnl로 쓰여있다.


21행에서 주석(dnl) 을 제거해주고 레벨을 14로 올려주자
이는 로그 기록 레벨을 설정하는 것인데 레벨별로 기록되는 로그가 달라진다
로그 기록 레벨별 수준은 아래 표와 같다
로그 기록 레벨 | 기록 수준 |
0 | 최소한의 정보만 기록 |
1 | 심각한 에러발생 및 보안정보 기록 |
2 | 네트워크 에러 또는 접근 실패시 기록 |
3 | 잘못된 주소, forward 파일의 에러, timeout 발생등에 따른 접속실패 기록 |
4 | 메일처리시 tcp_wrapper 에 의해 거부된 접속등이 기록 |
5 | 수신되는 메일의 레코드를 기록 |
6 | vrfy 명령에 의한 사용자정보 파악 시도 기록 |
7 | 메일수신 실패시 기록 |
8 | 메일수신 성공시 기록 |
9 | 시스템 자원부족에 의한 수신실패시 기록 |
10 | 데이터베이스에서 탐색되는 키 값 기록 |
11 | NIS 사용시 에러, 프로세스 종료 기록 |
12 | SMTP접속 기록 |
13 | 비사용자 쉘, 디렉토리 퍼미션 설정등 기록 |
14 | 접속거부에 대한 기록 |
15 | 모든 SMTP 접속 기록 log 의 용량이 커지게 되는 원인으로 부하를 유발할 수도 있음 |


52,53행 주석 제거
신뢰하는 인증 메커니즘,
해당 메커니즘을 사용하여 인증하는 기능이다.


118번 행의 Addr을 0.0.0.0 으로 설정하기도 한다 (모든 IP에 서비스)
아니면 서비스할 네트워크를 정할 수 있다.
우리는 Addr 부분을 모두 지워줬다.
설정이 끝났으면
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
입력해주자
원래 > 기호는 mc가 cf 파일을 덮어쓰지만
m4 명령어로 인해 수정한 내용만 cf 쪽으로 들어가게 된다.
그리고 /etc/mail/sendmail.cf 를 확인해보자

89번째 행에 호스트 이름을 집어넣어야 하는데
그것 보단 91번째 행의 경로 파일에 집어 넣는 것이 좋다
local-host-names를 vi 편집기로 확인해보자

도메인 이름과 메일서버를 같이 입력해주자
그러면 마지막 남은 access 파일을 확인하자
access 파일에서 사용자 범위를 제한할 수 있다.

access 파일에서도
도메인 이름,메일서버 이름
IP 대역을 입력해준다.

access 파일 수정 후 반드시 makemap hash로
access를 똑같은 access 이름으로 변경 시켜 줘야만
sendmail이 읽을 수 있는 database 형태로 저장된다!

그리고 메일을 이용할 계정들을
vi /etc/group 에서
mail 그룹에 넣어주자!

시스템을 실행할떄
sendmail 뿐만 아니라 sasl 인증도 실행하자!
(sasl 인증 : id/pw를 통한 인증)

당연히 mail 사용을 위한 포트도 개방시켜주자
받기위한 메일 서버
dovecot
dovecot 설정 파일이 들어 있는
/etc/dovecot을 확인해보자

dovecot.conf 는 전역설정
conf.d/ 는 세부 설정이 있는 디렉토리다.
전역설정 부터 vi 편집기로 살펴보자


24, 30 행의 주석을 제거해서
프로토콜 사용할 수 있게 해주고
listen = *, :: 는 모든 아이피로 서비스 하겠다는 것인데
각각
* > ipv4
:: >ipv6
를 뜻한다.
이제 세부 설정을 살펴보자

현재 우리가 사용할 기능들은 저 네가지만 설정하면 된다
하나씩 살펴보자
10-authconf
암호화된 인증을 쓸 것인지 결정

10번째 행은 평문인증을 사용하지 않겠다는 항목이다.
yes면 ssl을 사용하여 암호화 되니
지금은 주석제거 및 no로 바꿔주자
10-mail.conf
메일 사서함의 위치를 결정

25행에 /var/mail/%u (%u : 사용자이름 변수)
주석제거만 해주자
10-master.conf
포트를 결정


imap 과 pop3 의 포트가
주석처리 되어있다.
주석제거 하자
10-ssl.conf
ssl 사용을 결정

8행의 ssl이 require로 되어있다.
우린 ssl 사용하지 않는 평문 인증이니
no로 바꿔주자
설정이 끝났으니
systemctl start dovecot 으로
실행시켜주자
그리고 윈도우의 Thunderbird에서 계정을 만들어주자 (a, b)


처음에 설정했던 리눅스 사용자와 맞춰서 생성해주자


본인과 b 계정으로 잘가면 성공한 것이다!
이상으로 리눅스에서 mail시스템을 서비스 해봤다.
'Linux > CentOS7' 카테고리의 다른 글
Linux 21 . at, cron (0) | 2024.02.20 |
---|---|
Linux 20 . NFS 서비스 (0) | 2024.02.19 |
Linux 18 . httpd 서비스 (0) | 2024.02.19 |
Linux 17 . DNS 서비스 (0) | 2024.02.15 |
Linux 16 . ftp 서비스 (0) | 2024.02.14 |