'e.t.c' 카테고리의 다른 글
오랜만에 글을 쓰네여 ㅎ (0) | 2015.01.23 |
---|---|
개발자용 폰트 너무 멋지네요!! (0) | 2014.01.10 |
트럼프로 즐기는 카드점에서 각 카드들의 의미는?? (0) | 2011.10.06 |
자신이 태어난 날에 맞추어서 찾아보세요^^ (0) | 2011.09.12 |
Raid 개념정리!!! (0) | 2011.05.03 |
오랜만에 글을 쓰네여 ㅎ (0) | 2015.01.23 |
---|---|
개발자용 폰트 너무 멋지네요!! (0) | 2014.01.10 |
트럼프로 즐기는 카드점에서 각 카드들의 의미는?? (0) | 2011.10.06 |
자신이 태어난 날에 맞추어서 찾아보세요^^ (0) | 2011.09.12 |
Raid 개념정리!!! (0) | 2011.05.03 |
=============================================================================================================================
※ 해당 내용의 경우 VMware를 이용한 로컬 네트웍 상에서 작업을 하는 내용을 안내하여 드립니당~!
[ 시스템 설정을 위한 내용 ]
설치된 Base Windows : Windows 7 Pro
설치된 Server CentOS : CentOS 5.8
설치된 VMware Program : VM workstation 8.0.1
메일 서버 패키지 파일 : sendmail, sendmail-cf
=============================================================================================================================
- 메일 서버의 개요 및 동작 원리 -
메일 사용자가 메일 클라이언트(ex:outlook)를 사용해서 메일을 보내는 경우 "e-mail"은 메일서버로 접속한 뒤 받는 사람
메일 주소가 현재 사용 가능한지 여부를 인증(SMTP)받아야 한다.
사용가능여부의 인증이 성공하면 메일서버의 MTA(Mail Transfer Agent)는 SMTP(Simple Mail Transfer Protocol)를
이용하여 받는 사람(@뒤쪽 도메인의 메일 서버 정보를 NS/DNS 서버로 부터 질의하여 검색)의 메일 서버로 전송한다.
메일을 수신한 메일서버는 지정된 디렉터리(/var/spool/mail)에 수신메일을 저장 후 수신자가 접속할 때까지 기다린다.
메일은 받는 사람이 자신의 메일 클라이언트로 접속하여 자신의 메일 계정으로 수신된 메일을 확인, 삭제 또는 다운로드 등
메일 서버로 부터 응답을 결정하여 메일 서버로부터 전송받게 된다.
- 메일 서버의 구분 -
ㄱ. SMTP 서버 (MTA) - Sendmail, Qmail ... 등
ㄴ. POP 서버 (MDA:Mail Delevery Agent) - ipop3, imap ... 등
ㄷ. Mail Client (MUA:Mail User Agent) - Outlook express, 웹메일 ... 등
[ 메일서버 참고사항(CentOS 기준) ]
이제 메일 서버를 실제로 설정하여 사용할텐데요. DNS 구성은 Host 만 추가하면 되므로 구성이 완료되어 있다는
전제하에 진행하도록 하겠습니다.
※ 메일 서버 설정 파일 : sendmail.cf, sendmail.mc
1. sendmail.cf 파일을 삭제
2. sendmail.mc 파일을 수정 (빨간색이 수정사항이며 수정전 백업은 필수!!!)
- 52 Line : dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl - dnl 삭제
- 53 Line : dnl define('confAUTH_MECHANISMS', 'EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl - dnl 삭제
- 116 Line : DAEMON_OPTIONS('Port=smtp, Addr=0,0,0,0, Name=MTA')dnl
3. m4 유틸리티로 sendmail.cf 파일을 생성 (2번 사항의 sendmail.mc 파일의 수정부분을 반영하여 생성됨)
- m4 sendmail.mc > sendmail.cf
4. sendmail 환경설정 (3번에서 생성한 sendmail.cf 파일로 빨간색 부분이 수정된 부분)
- Cwmail.noose.net : 메일 서버로 사용될 Domain 을 지정
- Djmail.noose.net : Telnet 을 통해 확인을 하는 경우에도 강제적으로 Domain 이 출력되게 설정
※ 1. "/etc/mail/access", "/etc/mail/local-host-names" 파일에 할당받은 도메인 명을 기록해야 함
2. "Cw" 와 "Dj" 중 한개의 옵션만을 사용해야 한다. 두개를 같이 사용하는 경우 데몬 재시작시 오류 발생
[ 메일서버 방화벽 설정해제 ]
1. /etc/sysconfig/iptables 를 수정 (" "안쪽 부분(붉은색만)을 라인 추가해서 입력해야함!!!)
- "-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT" //SMTP가 사용하는 포트
- "-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT" //POP3가 사용하는 포트
[ 시스템 시작시 메일 서비스 자동시작 설정 ]
1. "ntsysv" 에서 아래의 두가지 서비스를 등록
- "dovecot"
- "saslauthd"
- 두가지 서비스의 "[]" 부분에 "*" 표시를 등록한다.
[ 적용한 사항의 확인 ]
Name: mail.noose.net
Address: 192.168.X.130#53
3. 일반 PC에서 25번 포트의 telnet 확인
- C:\>telnet 192.168.X.130 25 입력 후 아래의 " " 안의 메세지 내용이 출력되어야 함 //SMTP가 사용하는 포트 확인
" 220 mail.noose.net ESMTP Sendmail 8.13.8/8.13.8; Tue, 26 Apr 2011 15:20:18 +09 00 "
- C:\>telnet 192.168.X.130 110 입력 후 아래의 " " 안의 메세지 내용이 출력되어야 함 //POP3가 사용하는 포트 확인
" +OK Dovecot ready. "
4. Outlook Express 에서 메일 기능의 정상 여부 확인
제 11강. CentOS 내 사용자 용량제한 설정하기(Quota) (0) | 2012.08.19 |
---|---|
제 6강. CentOS 내 Network File System 서비스를 알아보자 (0) | 2012.02.24 |
제 4강. CentOS 에서 Openssh를 이용한 ssh 서비스를 알아보자! (0) | 2012.02.06 |
제 3강. CentOS 에서 Vsftpd를 이용한 ftp 서비스를 알아보자! (0) | 2012.02.02 |
제 2강. CentOS 에서의 xinetd 과 Telnet 서비스를 알아보자! (0) | 2012.01.26 |
[ main.sh ]
pwd : /backup/shell
#vi ./main.sh
===================================================================================================
#!/bin/bash
clear
echo "=================================="
echo " 1. 사용자 관련"
echo " 2. 권한 관련"
echo " 3. 하드웨어 관련"
echo " 4. 검색 관련"
echo " 5. 시스템 종료"
echo " q. 프로그램 종료"
echo "=================================="
echo -n "메뉴를 선택 해볼래? : "
read tac1
echo "$tac1 을 선택하였습니다."
case $tac1 in
1)./user/usermain.sh;;
2)./ch/chmain.sh;;
3)./hard/hdmain.sh;;
4)./search/search.sh;;
5)./sys/sysinfo.sh;;
q)exit;;
esac
===================================================================================================
[ useradd.sh ]
pwd : /backup/shell/user
#vi ./useradd.sh
===================================================================================================
#!/bin/bash
clear
echo "================================"
echo "입력할 사용자 정보를 넣어주세요."
echo "================================"
echo -n "UserName 을 입력하세요 : "
read uaddname
if [ -z $uaddname ]
then
echo "빈값을 입력하여 프로그램을 종료합니다."
exit
else
uaddname="$uaddname"
fi
echo -n "Uid 를 입력하세요 : "
read uadduid
if [ -z $uadduid ]
then
echo "빈값을 입력하였습니다."
else
uadduid="-u $uadduid"
fi
echo -n "Gid 를 입력하세요 : "
read uaddgid
if [ -z $uaddgid ]
then
echo "빈값을 입력하였습니다."
else
uaddgid="-g $uaddgid"
fi
echo -n "Home Directory 를 입력하세요 : "
read uaddhome
if [ -z $uaddhome ]
then
echo "빈값을 입력하였습니다."
else
uaddhome="-d $uaddhome"
fi
useradd $uadduid $uaddgid $uaddhome $uaddname
echo "입력하신 $uaddname 으로 생성하였습니다"
echo "================================"
echo -n "생성된 사용자 정보를 보시겠습니까?(yes/no) : "
read catuser
if [ -z $catuser ]
then
echo "꺼져!"
/backup/sh/main.sh
else
if [ $catuser = "yes" ]
then
cat /etc/passwd | grep $uaddname
echo -n "확인하셨습니까?"
read
/backup/sh/main.sh
else
echo "빠욤!"
/backup/sh/main.sh
fi
fi
===================================================================================================
[ usermod.sh ]
pwd : /backup/shell/user
#vi ./usermod.sh
===================================================================================================
#!/bin/bash
clear
echo "================================"
echo "수정할 사용자 정보를 넣어주세요."
echo "================================"
echo -n "UserName 을 입력하세요 : "
read umodname
if [ -z $umodname ]
then
echo "빈값을 입력하여 프로그램을 종료합니다."
exit
else
umodname="$umodname"
fi
echo -n "Uid 를 입력하세요 : "
read umoduid
if [ -z $umoduid ]
then
echo "빈값을 입력하였습니다."
else
umoduid="-u $umoduid"
fi
echo -n "Gid 를 입력하세요 : "
read umodgid
if [ -z $umodgid ]
then
echo "빈값을 입력하였습니다."
else
umodgid="-g $umodgid"
fi
echo -n "Home Directory 를 입력하세요 : "
read umodhome
if [ -z $umodhome ]
then
echo "빈값을 입력하였습니다."
else
umodhome="-d $umodhome -m"
fi
usermod $umoduid $umodgid $umodhome $umodname
echo "입력하신 $umodname 으로 생성하였습니다"
echo "================================"
echo -n "수정된 사용자 정보를 보시겠습니까?(yes/no) : "
read catuser
if [ -z $catuser ]
then
echo "꺼져!"
/backup/shell/main.sh
else
if [ $catuser = "yes" ]
then
cat /etc/passwd | grep $umodname
echo -n "확인하셨습니까?"
read
/backup/shell/main.sh
else
echo "빠욤!"
/backup/shell/main.sh
fi
fi
===================================================================================================
[ userdel.sh ]
pwd : /backup/shell/user
#vi ./userdel.sh
===================================================================================================
#!/bin/bash
clear
echo "================================"
echo "삭제할 사용자 정보를 넣어주세요."
echo "================================"
echo -n "UserName 을 입력하세요 : "
read udelname
if [ -z $udelname ]
then
echo "빈값을 입력하여 프로그램을 종료합니다."
exit
else
echo "홈디렉터리도 함께 삭제하시겠습니까?(yes/no) : "
read udelmax
if [ $udelmax = "yes" ]
then
userdel -r $udelname
else
userdel $udelname
fi
fi
echo "입력하신 $udelname 사용자를 삭제하였습니다"
echo "================================"
echo -n "삭제된 사용자 정보를 보시겠습니까?(yes/no) : "
read catuser
if [ -z $catuser ]
then
echo "꺼져!"
/backup/sh/main.sh
else
if [ $catuser = "yes" ]
then
cat /etc/passwd | grep $udelname
echo -n "삭제되셨습니까?"
read
/backup/sh/main.sh
else
echo "빠욤!"
/backup/sh/main.sh
fi
fi
===================================================================================================
Shell Script (기초) (0) | 2014.08.20 |
---|