메일계정 생성 및 가상도메인 생성
설정환경
sendmail 8.13.1
sendmail을 이용하여 메일 송/수신을 하기 위해서는 메일계정과 메일 계정의 도메인이 존재하여야 합니다.
생성 도메인 : nextline.co.kr
생성 이메일 계정명 : nextline
( 1 ) 메일 계정생성
① useradd
새로운 사용자를 생성할 때 사용하는 명령어로 일반 계정사용자, 메일사용자를 생성할 수 있습니다.
Useradd 옵션
-c : 사용자명을 입력하며, finger로 확인하면 보여주는 간단한 사용자설명(코멘트)을 등록합니다.
-d : 생성하는 계정사용자의 홈 디렉토리위치를 지정합니다.(-d /home/디렉토리명)
-e : 생성하는 계정의 사용일자를 지정합니다.(-e 2007-12-09)
-f : 생성하는 계정의 유효일자를 지정합니다.(-f -30, 앞으로 30일 동안 유효한 계정)
-g : 생성하는 계정의 GID를 지정합니다.(-g 1004)
-G : 생성하는 계정의 추가등록 계정의 그룹명를 지정합니다.
-p : 생성하는 계정의 패스워드를 지정합니다.
-s : 생성하는 계정의 기본 사용 쉘를 지정합니다.
-u : 생성하는 계정의 UID를 지정합니다.(-u 1000)
-M : home directory를 만들지 않습니다.
nextline 계정을 생성합니다. 계정 생성시 ?M ?s /bin/false 옵션을 주어 홈디렉토리 생성하지 않고 로긴을 허용하지만 쉘과 ssh 터미널 그리고 홈디렉토리를 제공하지 않게 합니다.
[root@nextline ~]# useradd ?M -s /bin/false nextline
nextline 계정의 패스워드를 설정합니다.
[root@nextline ~]# passwd nextline
Changing password for user nextline.
New UNIX password:
Retype new UNIX password:
( 2 ) 도메인설정
① sendmail 관련 설정파일이 위치한 /etc/mail 디렉토리로 이동합니다.
[root@nextline ~]# cd /etc/mail
vi 에디터 사용법
사용형식 : vi [옵션] [생성할 파일명/편집할 파일명]
vi 에디터는 입력모드, 명령모드, 실행모드로 구분됩니다.
입력모드 : vi 편집화면에서 문자를 입력할 수 있는 모드로서 입력모드로 진입하기 위해서는 i, a, o, I, A, O, R등이 있습니다. 즉 초기 vi 편집기 모드는 명령어 모드로 진입을 하기때문에 문자를 입력하기 전에 앞의 단축키중 하나를 먼저 입력해야 원하는 문자를 입력할 수 있습니다.
명령모드 : 커서이동/문자삭제/문자(열)교체/문자열검색 등을 할수 있는 모드로서 입력모드에서 편집이 완료되면 Esc키를 눌러 명령모드로 진입하면 됩니다.
x : vi 명령모드에서 커서위치의 한 문자 삭제
dw : vi 명령모드에서 커서위치의 한단어 삭제
dd : vi 명령모드에서 커서위치의 행 삭제
Ndd : vi 명령모드에서 커서위치의 여러행 동시 삭제
실행모드 : 특별한 명령어를 실행하는 모드로서 명령어모드에서 ":"(콜론)를 누르면 vi 화면 하단 좌측에 vi 특수명령어를 입력할 수 있습니다.
실행모드의 일반적으로 쓰이는 특수 명령어
q : 수정 작업이 이루어지지 않은 상태에서 vi 편집기에서 빠져나옵니다.
q! : 수정 작업이 이루어진 부분을 적용시키지 않고 vi 편집기를 강제로 빠져나옵니다.
w : 수정된 작업을 저장합니다.
wq : 수정된 작업을 저장하고 vi 편집기에서 빠져나옵니다.
초기 명령어모드 -> 입력모드진입 -> 편집 -> 명령어모드 -> 실행모드 -> 종료
② vi 에디터를 이용하여 virtusertable 파일을 편집합니다.
vitrusertable 파일은 가상메일을 설정하기 위한 파일이며, 가상메일이란 동일한 메일계
정을 사용자의 도메인별로 여러 개 사용할 수 있도록 만든 메일을 의미합니다. 가상메일이란 말 그대로 이 메일은 실제로 존재하는 메일이 아니라 사용하고자 하는 가상메일주소와 실제계정의 주소와 매칭시키는 방법을 의미합니다.
[root@nextline mail]# vi virtusertable
③ 메일주소 및 계정 추가
사용형식
메일주소 계정명
nextline@nextline.co.kr nextline
서버에 운영중인 도메인이 한 개 이상이거나 메일 계정이 여러 개일 경우는 아래와 같이설정합니다.
운영 도메인 : nextline.co.kr
메일계정명 : nextline, nextline_1
운영 도메인 : nextline.net
메일계정명 : nextline_2, nextline_3
④ vi 에디터를 이용하여 sendmail.cf파일을 편집합니다.
[root@nextline mail]# vi sendmail.cf
⑤ 가상메일설정(Virtual user table (maps incoming users))
Sendmail.cf에는 기본으로 적용되어있는 부분으로 가상메일을 사용하기 위한 설정입니다.
만약 가상메일에 대한 부분이 없으면 아래와 같이 추가해 줍니다.
이 설정은 가상유저테이블로 사용할 사용자리스트를 /etc/mail/virtusertable에 보관하고 hash 테이블로 그 내용을 참조하겠다라는 설정입니다.
# Virtual user table (maps incoming users)
Kvirtuser hash -o /etc/mail/virtusertable.db
⑥ makemap
makemap 명령은 virtusertable에 등록된 정보를 virtusertable.db 파일에 등록시키기 위한 명령입니다. Virtusertable 파일에만 등록이 되어 있다면 sendmail은 가상메일에 대해서
전혀 인식할 수 없습니다. /etc/mail/virtusertable에 등록된 가상메일주소를 virtusertable.db에 등록을 해야만 sendmail이 인식할 수 있습니다.
[root@nextline mail]# makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable
⑦ strings
virtusertable.db 파일에 nextline 설정이 적용되었는지 확인합니다. virtusertable.db 파일은 텍스트 파일이 아니기 때문에 vi, cat 명령어로는 볼 수 없습니다.
[root@nextline mail]# strings virtusertable.db
⑧ local-host-name 파일편집
sendmail은 이 파일을 참조하여 현재 서버에 도착한 메일의 최종 수신지라고 인식하게 됩니다. 이 서버를 거쳐가는 메일 중 이 파일에 등록되어있는 도메인에 대한 메일을 더이상 메일라우팅을 시켜 다른 서버로 보내지 않고 이 서버에 잡아두게 됩니다.
[root@nextline mail]# vi local-host-names
nextline.co.kr 추가 합니다.
서버에 운영중인 도메인이 한 개 이상일 경우 아래와 같이 추가 합니다.
운영 도메인 : nextline.co.kr, nextline.net, nextline.com
⑨ sendmail 적용
sendmail에 적용시키기 위해 sendmail를 재 시작 합니다.
[root@nextline ~]# /etc/rc.d/init.d/sendmail restart
⑩ Outlook Express 설정
아웃룩 익스프레스상에서 nextline 계정을 추가 한 뒤 메일이 정상 수신되는지 확인 합니다.
[도구] ? [계정] ? [인터넷계정] ? [메일] ? [추가] ? [메일]
[표시이름] : 넥스트라인
[인터넷 전자메일주소] : nextline@nextline.co.kr
[받는메일] : mail.nextline.co.kr
[보내는 메일] : mail.nextline.co.kr
[계정이름] : nextline
[암호] : xxxxxx
[마침]
추가한 메일계정의 속성 탭을 선택합니다.
[속성] ? [서버] ? [인증필요 체크] ?[적용] ? [확인] ?[닫기]
⑪ 메일 보내기
메일 계정이 보유한 사이트에서 nextline계정으로 메일을 보냅니다.
⑫ 수신 확인
[배달] ? [받은 편지함] nextline 계정으로 정상 수신 되었습니다.