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

virtusertable (가상 사용자 설정 )

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

icon01.gif title01.gif


이 문서를 다른 웹이나 출판물에 게시할 때는 반드시 출처를 밝혀 주시기 바랍니다.

최종 수정일 : 2001년 9월 2일
글쓴이 : 윤 일(admin@rootman.org)

HOW-TO Configuration virtusertable

약속 : 이 강좌에 사용된 "1차 목적지"는 발신자가 메일을 보낼 때 사용한 받는 사람의 메일 주소를 의미하고 "최종 목적지"는 메일이 최종적으로 배달될 목적지를 의미한다.

virtusertable은 여러개의 도메인이 운영중인 호스팅 서버에서 아주 유용하게 사용할 수 있는 가상 유저 설정과 메일 포워딩에 관한 설정파일이다. 시스템에 여러개의 도메인이 운영중이고 각각의 도메인별로 메일 서비스를 하고 있다면 꼭 이 강좌를 읽어 봐야 될 것이다.

virtusertable 파일과 /etc/aliases 파일과의 차이점은 뭔가요?
사용자간의 메일 포워딩에 대한 설정과 가상 메일 유저 설정은 /etc/aliases 파일로도 가능하지만 /etc/aliases 파일의 "1차 목적지" 설정은 메일 아이디에 대해서만 설정할 수 있기 때문에 들어오는 메일의 도메인까지 인식을 해서 메일을 포워딩 해야 될 경우에는 virtusertable을 사용해야 되는 것이다. 하나의 도메인만 운영하고 있다면 메일 포워딩과 가상 메일 유저등의 설정은 /etc/aliases 파일을 수정해서 사용하는 것이 편리할 것이다.

virtusertable 파일의 설정 형식은 다음과 같이 아주 간단하다.
[1차 목적지]   [최종 목적지]

[1차 목적지]에 설정할 수 있는 것들
1. /etc/passwd 파일에 존재하는 실제 시스템 사용자명
2. /etc/passwd에 등록되어 있지 않은 가상 유저
3. 가상 유저 또는 실제 시스템 유저명을 포함한 완벽한 mail 주소(admin@rootman.org, virtuser@dvc.dongeui.ac.kr)

[최종 목적지] 설정할 수 있는 것들
1. /etc/passwd 파일에 존재하는 실제 시스템 사용자명
2. 메일이 포워딩 될 외부 메일 주소(il-yoon@hanmail.net, yunil@dreamwiz.com)

그럼 지금부터 설정 예를 보면서 어떻게 설정이 이루어 지는지, 또 virusertable이 어떠한 경우에 사용되는지 살펴보자
[root@rootman mail]# cat virtusertable   --> rootman.org라는 하나의 도메인이 운영중일 때
admin                rootman
yunil                rootman
network              purmae
wonjae               purmae


위의 설정중에 처음 두줄이 의미하는 것은 수신자가 admin@rootman.org와 yunil@rootman.org로 되어 있는 메일은 모두 계정 사용자 rootman의 메일 박스로 포워딩됨을 의미하다. 그 다음 두줄도 마찬가지로 수신자가 network@rootman.org와 purmae@rootman.org로 되어 있는 메일은 모두 계정 사용자 purmae의 메일 박스로 포워딩 된다.
그런데 만약 하나의 서버에 rootman.org와 dongeui.ac.kr이라는 두개의 도메인이 운영되고 있을 때는 약간 황당한 경우가 생기게 된다. 계정 사용자 rootman은 rootman.org와 관련이 있는 사용자고 purmae는 dongeui.ac.kr과 관련이 있는 사용자라고할 때 계정 사용자 rootman은 당연히 admin@rootman.org와 yunil@rootman.org라는 메일 주소를 사용할 것이고 계정 사용자 purmae는 network@dongeui.ac.kr과 wonjae@dongeui.ac.kr이라는 메일 주소를 사용할 것이다. 하지만 rootman은 원하지도 않는 admin@dongeui.ac.kr과 yunil@dongeui.ac.kr를 사용해도 메일은 모두 rootman의 메일 박스로 포워딩 되게 된다. 위의 설정은 메일 아이디로만 설정해 놓았기 때문에 @(at)뒤의 호스트 네임 즉 도메인까지는 신경을 쓰지 않기 때문이다.

이러한 문제는 하나의 도메인만 운영하거나 여러개의 도메인을 운영하더라도 중복되는 메일 아이디를 설정할 일이 없는 시스템에서는 별 문제가 안 되겠지만 여러개의 도메인이 운영되고 있는 시스템에서 같은 메일 아이디를 도메인별로 제공해야 될때 문제가 될 수 있다. 예를 들면 호스팅 서버에서 각 도메인별로 admin@domain.com이라는 메일 아이디를 해당 사용자에게 부여해야 될때가 있을 것이다. 이러한 문제를 해결하기 위해 virtusertable에서는 [1차 목적지] 설정에 완전한 메일 주소 즉 호스트까지 표기를 해서 설정을 할 수 있게 되어 있다.
virtusertable의 이러한 기능 때문에 메일 주소의 @(at)뒤의 도메인만 다르다면 같은 메일 아이디를 여러 사용자에게 설정할 수 있을 것이다. 바로 이것이 virtusertable의 핵심 기능이다. 다시 설정예를 보고 이해하도록 하자
[root@rootman mail]# cat virtusertable
admin@rootman.org                rootman
admin@dongeui.ac.kr              purmae


위의 설정이 뭘 의미하는 지는 이제 입 아프게 얘기 안해도 알 것이라고 믿지만 다시 한번더 잔소리를..
수신자가 admin@rootman.org로 된 메일은 rootman의 메일 박스로 admin@dongeui.ac.kr로 오는 메일은 purmae의 메일 박스로 포워딩 되게 설정한 것이다.

이제 마지막으로 [최종 목적지]를 시스템 내부의 사용자가 아니라 외부의 smtp 즉 한메일등으로 포워딩 시키는 설정을 잠깐 살펴보자.
[root@rootman mail]# cat virtusertable
yunil                            yunil@dreamwiz.com
purmae                           purmae@thrunet.com
admin@rootman.org                yunil@dreamwiz.com


너무 쉽죠! 그냥 [최종 목적지]에 메일 주소만 적어 주면 됩니다.

[정말 중요] virtusertable 파일을 수정후 반드시 makemap 명령을 해 줘야 된다. sendmail을 restart시킬 필요는 없다.
[root@rootman mail]# makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable

virtusertable 설정에 대한 궁금한 점은 Q&A 게시판으로..

관련자료

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

공지사항


뉴스광장


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