강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

가상메일 설정법 (/etc/mail/virtusertable)

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

가상메일 설정법 (/etc/mail/virtusertable)

 

 

 

 

호스팅 서버관리를 해본 분이라면 가상메일에 대해서 잘알고 있을 것이다.

 

 

 

 가상메일이란 동일한 메일계정을 사용자의 도메인별로 여러개 사용할 수 있도록 만든 메일을 의미한다.

 

 

 

 가상메일이란 말그대로 이 메일은 실제로 존재하는 메일이 아니라 사용하고자하는 가상메일주소와 실제계정의 주소와 매칭시키는 방법을 의미한다.

 

 

 

 

 

예를들면 한대의 서버에서 여러개의 도메인에 대해서 webmaster등의 메일ID를 도메인별로 사용할 수 있도록 설정할 경우에 흔히 사용된다.

 

 

 

 

 

우선 다음과 같은 작업을 해야한다.

 

 

 

 설정파일은 /etc/mail/virtusertable이다.

 

 

 

 

우선, 가상메일로 사용할 도메인이있다면 위의 파일에 해당도메인이 등록되어있어야 한다.

 

 

 

 그리고 가상도메인으로 사용할 메일주소( : webmaster) /etc/mail/virtusertable에 다음과 같이 등록한다.

 

 

 

 이 파일에 다음과 같이 등록할 경우에는 가상메일주소와 실제계정사이는 반드시 TAB으로 띄워야 한다.

 

 

 

 

 

[root@sulinux mail]#cat /etc/mail/virtusertable

webmaster@manualand.co.kr    manual

webmaster@hyung.co.kr        hyung

[root@sulinux mail]#

 

 

 

 

이렇게 등록하는 의미는 다음과 같다.

 

 

 

 

 

webmaster@manualand.co.kr로 오는 메일은 manual이라는 실제계정에서 받게하고webmaster@hyung.co.kr로 오는 메일은 hyung이라는 실제계정에서 받게한다는 의미가 된다.

 

 

 

 

원하는 등록을 한 후에는 다음과 같이 virtusertable.db파일에 등록해야 한다.

 

 

 

 

 

[root@sulinux mail]#makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable

[root@sulinux mail]#

[root@sulinux mail]#ls -l virtusertable.db

-rw-r----- 1 root root 12288  5  7 03:14 virtusertable.db

[root@sulinux mail]#

 

 

 

 

/etc/mail/virtusertable파일에만 등록되어있다면 sendmail은 가상메일에 대해서 전혀 인식할 수 없다.

 

 

 

 /etc/mail/virtusertable에 등록된 가상메일주소를 virtusertable.db에 등록해야만 sendmail이 인식할 수 있다.

 

 

 

 즉 위의 makemap작업은 /etc/mail/virtusertable에 등록되어있는 가상메일주소를 /etc/mail/virtusertable.db에 등록시켜주는 작업이다.

 

 

 

 

 

그리고 이렇게 makemap작업을 실행한 후에는 sendmail을 재시작할 필요가 전혀없다.

 

 

 

 위와같이 makemap을 실행하여 virtusertable.db파일이 갱신되면 sendmail에 바로 적용되기 때문이다.

 

 

 

 

 

참고로 앞의 /etc/mail/access파일 설명에서도 말했듯이 요즘에는 /etc/mail/디렉토리에서 그냥 "make"를 실행하면 모든 변경된 설정들이 자동으로 적용된다.

 

 

 

 

 

등록한 설정이 /etc/mail/virtusertable.db파일에 등록되어 있는가를 다음과 같은 명령어로 확인한다.

 

 

 

 

 

[root@sulinux mail]#strings virtusertable.db | grep manual

manual

webmaster@manualand.co.kr

[root@sulinux mail]#

[root@sulinux mail]#strings virtusertable.db | grep hyung

hyung

webmaster@hyung.co.kr

[root@sulinux mail]#

 

 

 

 

앞에서 보았던 /etc/mail/access파일에서 처럼 virtusertable.db파일에 등록되었는가를 strings라는 명령어로 확인한 것이다.

 

 

 

 

 

, 그럼 생성된 가상메일을 테스트 해보도록하겠다.

 

 

 

 Outlook Express와 같은 메일클라이언트를 이용하여 webmaster@manualand.co.kr로 메일을 보내어서 보낸 메일이 manual이라는 실제계정으로 메일이 도착하는지를 확인한다.

 

 

 

 

 

그리고 webmaster@hyung.co.kr로 메일을 보내어서 보낸메일이 hyung이라는 계정으로 메일이 도착하는지를 확인한다.

 

 

 

 

 

다음은 가상메일을 생성할 때의 작업을 간략히 정리한 것이다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,811 개
  • 현재 접속자 :  108 명