본문 바로가기

호스팅에서 사용자 계정 추가 스크립트

MintState 2008년 11월 10일 오후 1:11 조회 153246

호스팅에서 사용자 계정 추가 스크립트

너무 여러가지 기능을 추가 하여 점 복잡하군요..
나름대루 고쳐서 쓰면 유용할듯 합니다.

# addon 1.

#!/bin/bash

# 사용시 버그나, 추가할 사항이 있으시면 언제든지 연락바랍니다. ^^;
# http://byus.net 에 오신후, 질답게시판 혹은 자유게시판에 글 남겨주세요 ^^;

# 자동 생성 index.html -> index.htm 으로 이름 변경 ( 초보자 혼동 방지 )
# htdocs(public_html) 폴더가 없을 경우 자동 추가 8월 27일 ( /etc/skel )
# asf,wma 미디어 파일 재생 접근 차단 여부 추가 8월 16일 ( $streaming )
# 제로보드 링크 주소 일부 변경 admin.php 로 연결 8월 13일 
# 디폴트 도메인 에서 계정 중복 여부 체크 8월 8일 (다중 서버 관리시 최소 필터링)
# 도메인 메일 셋팅시 센드메일 재시작하여 메일주소 활성화 수정 7월 16일
# $1 값이 있으면 데몬을 리스타트 하지 않도록 수정 (대량 계정 등록시 이용) 7월 1일 
# 텔넷으로 타회원 디렉토리 검색하는 보안 버그 처리 6월 16일
# whois 정보보기 추가 6월 10일
# 1차 서버의 제외한 서버에서 셋팅시 네임서버를 자동으로 건너뛰도록 설정 6월 5일
# index.html 파일 생성 지원 6월 3일
# 제로보드 설치 지원추가 6월 3일
# 메일 포워딩 수정 5월 31일

#####################
# 환경 설정 변수들
#####################

starttime=$(date +%s)

user="tina"					# multi server admin's setting

if [ "$user" = "tina" ]; then

	device=eth0				# internet ethernet device's point

	ip1="210.118.169.13"			# first server's ip 
	ip2="210.118.169.42"			# second server's ip
	ip3="210.118.169.118"			# 3rd
	ip4="210.118.169.140"			# 4th
	ip5="210.118.169.165"			# 5th
	ip6="61.111.254.202"			# 6th
	ip7="61.111.254.204"			# 7th
	ip8="61.111.254.205"			# 8th
	ip9="61.111.254.206"			# 9th
	ip10="61.111.254.207"			# 10th
	ip11="61.111.254.208"			# 10th
	ip12="61.111.254.209"			# 10th
	ip13="61.111.254.210"			# 10th
	ip14="61.111.254.211"			# 10th

	acckinddefault="pro"			# account kind default level
	homediris="/home"			# default homedir
	htdocs="public_html"			# html documents dir
	dbnametail=""				# abc 's DBNAME system
	ns="ns.byus.net."			# first name server domain.
	ns2="ns2.byus.net."			# second name server domain.
	nsip="210.118.169.13"			# first name server ip 
	ns2ip="210.118.169.42"			# second name server ip 
	
	domain="byus.net"			# default domain name

	mail="mail.byus.net"				# default mail server name 
	mail2="mail2.byus.net"
	mail3="mail3.byus.net"
	mail4="mail4.byus.net"
	mail5="mail5.byus.net"
	mail6="mail6.byus.net"
	mail7="mail7.byus.net"
	mail8="mail8.byus.net"
	mail9="mail9.byus.net"
	mail10="mail10.byus.net"
	mail11="mail11.byus.net"
	mail12="mail12.byus.net"
	mail13="mail13.byus.net"
	mail14="mail14.byus.net"

	sendmaild="/etc/init.d/sendmail"	# sendmail daemon

	conf="/etc/httpd/conf/httpd.conf"	# httpd configuration file's point
	seconf="/etc/httpd/conf/httpd.conf"	# httpd configuration file's point (second server)
	conf3=$conf
	conf4=$conf
	conf5=$conf
	conf6=$conf
	conf7=$conf
	conf8=$conf
	conf9=$conf
	conf10=$conf
	conf11=$conf
	conf12=$conf
	conf13=$conf
	conf14=$conf

	namedconf="/etc/named.conf"		# named configuration file's point 
	default_zonefile="/var/named/byus.zone"	# default zone file's point
	zonedir="/var/named/"			# zone directory

	named="/etc/init.d/named"		# named daemon file's point

	httpd="/etc/init.d/httpd"		# httpd daemon's point
	sehttpd="/etc/init.d/httpd"		# second server's httpd point
	httpd3=$httpd
	httpd4=$httpd
	httpd5=$httpd
	httpd6=$httpd
	httpd7=$httpd
	httpd8=$httpd
	httpd9=$httpd
	httpd10=$httpd
	httpd11=$httpd
	httpd12=$httpd
	httpd13=$httpd
	httpd14=$httpd

	httpdowner="apache"				# 웹 데몬 소유자 
	sehttpdowner="apache"	
	httpdowner3="apache"	
	httpdowner4="apache"	
	httpdowner5="apache"	
	httpdowner6="apache"	
	httpdowner7="apache"	
	httpdowner8="apache"	
	httpdowner9="apache"	
	httpdowner10="apache"	
	httpdowner11="apache"	
	httpdowner12="apache"	
	httpdowner13="apache"	
	httpdowner14="apache"	
	
	throttleset="y"					# throttle setting y/n 모듈로 올라와 있어야 오류가 없음
	vfree="Volume 50M 1d"				# throttle polocy traffic limit volume
	vpro="Volume 500M 1d"
	vpro1="Volume 1000M 1d"
	vpro2="Volume 1500M 1d"
	vdevperson="Volume 2000M 1d"
	vdevcast="Volume 2000M 1d"
	vdevfan="Volume 1500M 1d"
	vserver="None"

	virtusertable="/etc/mail/virtusertable"		# virtusertables file's point
	localhostnames="/etc/mail/local-host-names"	# local-host-names file's point
	webalizeradddefault="y"				# Webalizer Site-on Logfile setting

	accountsubmitmailfile1="/script/submitted1.html" # 1차 서버 개통메일 위치
	accountsubmitmailfile2="/script/submitted2.html" # 2차 서버 개통메일 위치
	accountsubmitmailfile3="/script/submitted3.html" # 3차 서버 개통메일 위치
	accountsubmitmailfile4="/script/submitted4.html" # 4차 서버 개통메일 위치
	accountsubmitmailfile5="/script/submitted5.html" # 5차 서버 개통메일 위치
	accountsubmitmailfile6="/script/submitted6.html" # 6차 서버 개통메일 위치
	accountsubmitmailfile7="/script/submitted7.html" # 7차 서버 개통메일 위치
	accountsubmitmailfile8="/script/submitted8.html" # 8차 서버 개통메일 위치
	accountsubmitmailfile9="/script/submitted9.html" # 9차 서버 개통메일 위치
	accountsubmitmailfile10="/script/submitted10.html" # 10차 서버 개통메일 위치
	accountsubmitmailfile11="/script/submitted11.html" # 11차 서버 개통메일 위치
	accountsubmitmailfile12="/script/submitted12.html" # 12차 서버 개통메일 위치
	accountsubmitmailfile13="/script/submitted13.html" # 13차 서버 개통메일 위치
	accountsubmitmailfile14="/script/submitted14.html" # 14차 서버 개통메일 위치

	submitmailsenddefault="y"			# submitted account mailsend
	sysopmailaddress="sontina@chollian.net"		# sysop's mail address
	sysopmailaddress2=""				# sysop's mail address

	zeroinstdefault="y"				# 제로보드 설치 디폴트값
	zeroinstdir="/script/zboard"			# 제로보드 소스위치
	zerodirname="zboard"				# 제로보드 설치디렉이름

	indexfiledefault="y"				# 회원 index.html 파일 추가
	streaming="y"					# 셋팅중 asf,wma 미디어 지원여부 선택

else 
	echo ">>> 환경 설정 후 사용요망 "
	exit
fi


### 일반적인 공통 셋팅 부분

dat=$(date +%Y%m%d)			# Current date call - Don't touch
serial="$dat""01" 			# zone file serial

# check sum value (no edit)
checkupacc="n"
checkupname="n"


### 현재 서버 추적 

currentip=`/sbin/ifconfig $device | grep "inet " | awk '{print $2}' | cut -c6-`

case "$currentip" in
	"$ip1"	) currentserver=1 ;httpdown=$httpdowner;mailfile="$accountsubmitmailfile1";;
	"$ip2"	) currentserver=2 ;mail=$mail2;conf=$seconf;httpd=$sehttpd;httpdown=$sehttpdowner;mailfile="$accountsubmitmailfile2";;
	"$ip3"	) currentserver=3 ;mail=$mail3;conf=$conf3;httpd=$httpd3;httpdown=$httpdowner3;mailfile="$accountsubmitmailfile3";;
	"$ip4"	) currentserver=4 ;mail=$mail4;conf=$conf4;httpd=$httpd4;httpdown=$httpdowner4;mailfile="$accountsubmitmailfile4";;
	"$ip5"	) currentserver=5 ;mail=$mail5;conf=$conf5;httpd=$httpd5;httpdown=$httpdowner5;mailfile="$accountsubmitmailfile5";;
	"$ip6"	) currentserver=6 ;mail=$mail6;conf=$conf6;httpd=$httpd6;httpdown=$httpdowner6;mailfile="$accountsubmitmailfile6";;
	"$ip7"	) currentserver=7 ;mail=$mail7;conf=$conf7;httpd=$httpd7;httpdown=$httpdowner7;mailfile="$accountsubmitmailfile7";;
	"$ip8"	) currentserver=8 ;mail=$mail8;conf=$conf8;httpd=$httpd8;httpdown=$httpdowner8;mailfile="$accountsubmitmailfile8";;
	"$ip9"	) currentserver=9 ;mail=$mail9;conf=$conf9;httpd=$httpd9;httpdown=$httpdowner9;mailfile="$accountsubmitmailfile9";;
	"$ip10"	) currentserver=10 ;mail=$mail10;conf=$conf10;httpd=$httpd10;httpdown=$httpdowner10;mailfile="$accountsubmitmailfile10";;
	"$ip11"	) currentserver=11 ;mail=$mail11;conf=$conf11;httpd=$httpd11;httpdown=$httpdowner11;mailfile="$accountsubmitmailfile11";;
	"$ip12"	) currentserver=12 ;mail=$mail12;conf=$conf12;httpd=$httpd12;httpdown=$httpdowner12;mailfile="$accountsubmitmailfile12";;
	"$ip13"	) currentserver=13 ;mail=$mail13;conf=$conf13;httpd=$httpd13;httpdown=$httpdowner13;mailfile="$accountsubmitmailfile13";;
	"$ip14"	) currentserver=14 ;mail=$mail14;conf=$conf14;httpd=$httpd14;httpdown=$httpdowner14;mailfile="$accountsubmitmailfile14";;
	*	) echo "환경 변수 설정을 하시고 사용하시기 바랍니다";exit;;
esac





#########################
# 계정 등록설정
#########################

clear

echo
echo "======================================================================="
echo " * 사용자 계정 및 각종 설정 자동화 스크립트  작성자: 손희태(풀비누)    "
echo "======================================================================="
echo "======================================================================="
echo " * 작성일   : 2002.3.6                                                 "
echo " * 수정일   : 2002.8.30                                                "
echo " * 갱신버젼 : 0.85                                                     "
echo " * 홈페이지 : http://byus.net                                          "
echo "======================================================================="
echo "======================================================================="
echo " * 서버 셋팅변수 : $user "
echo " * 기본 도메인   : $domain "
echo
echo " * 1차 네임서버  : $ns ( $nsip )"
echo " * 2차 네임서버  : $ns2 ( $ns2ip )"
echo "======================================================================="
echo
echo ">>> 서버 아이피 : $currentip "
echo ">>> 제 $currentserver 서버로 검색 되었습니다. 현재 3차 서버까지 지원합니다."


if [ ! $currentserver = 1 ]; then
	echo ">>> 1차 서버에서의 네임 서버 설정을 마쳤다는 가정하에, 셋팅이 들어가니, 주의 하시기 바랍니다"
fi 


echo
echo -n "### 계정등록을 할 서버를 선택하세요. ( Default : $currentserver ) : "
read where
if [ ! $where ]; then
	where=$currentserver
fi

# 셋업할 서버의 ip 획득
case "$where" in
"1"		)  ipsetup=$ip1 ;;
"2"		)  ipsetup=$ip2 ;;
"3"		)  ipsetup=$ip3 ;;
"4"		)  ipsetup=$ip4 ;;
"5"		)  ipsetup=$ip5 ;;
"6"		)  ipsetup=$ip6 ;;
"7"		)  ipsetup=$ip7 ;;
"8"		)  ipsetup=$ip8 ;;
"9"		)  ipsetup=$ip9 ;;
"10"		)  ipsetup=$ip10 ;;
"11"		)  ipsetup=$ip11 ;;
"12"		)  ipsetup=$ip12 ;;
"13"		)  ipsetup=$ip13 ;;
"14"		)  ipsetup=$ip14 ;;
*		)  echo ">>> 서버 번호를 정확히 입력 바랍니다";exit;;
esac

echo
echo ">>> 셋업할 서버의 아이피 정보 : $ipsetup    ( $where 차 서버 ) "

funcacc () {
echo
echo -n "### 계정을 입력하세요 : "
read account

if [ ! $account ]; then
	echo ">>> 계정명을 넣어 주시기 바랍니다."
	funcacc
elif (( $(cat /etc/passwd |grep -c "^$account:") > 0 )) ;then
	echo ">>> 계정이 이미 존재합니다. 다시 입력바랍니다 " 
	funcacc
fi

### 계정 중복 여부 필터링 ( 디폴트 존파일 검색 - 도메인 등록자는 필터링 못함 )

if [ $currentserver = 1 ] && (( $(cat $default_zonefile | grep -c "\<$account\>") > 0 )) ; then
	echo ">>> 계정이 존파일에 이미 존재합니다. 다시 입력 바랍니다 "
	funcacc
fi 

}


### 현재의 서버가 셋업할 서버와 동일한 경우 (계정설정 과 디비설정에 적용) 

if [ $where = $currentserver ]; then
funcuseradd () {

	funcacc 

	echo
	echo ">>> 홈디렉이 다음과 같이 검색되었습니다"

	if (( $(df -h | grep -v "common" | grep -c "home") > 0 )); then
		df -h | egrep "Mount|home" | grep -v "common"
	else 
	  	ls -al / | grep "home"
	fi

	echo
	echo -n "### 계정 홈 디렉의 위치를 설정해 주세요 => /home"
	read homedir2

	homedir=$homediris$homedir2
	
	echo
	echo ">>> 계정 종류 : (free, pro), pro1, pro2, devperson, devcast, devfan, server " 
	echo -n "### 계정 종류를 설정하세요 ( Default : $acckinddefault ) : "
	read acckind
	
	if [ ! $acckind ];then
		acckind="$acckinddefault"
	fi

	if [ -d "$homedir" ] ; then

		# 계정 종류에 따라 쉘 사용여부 & 사용자 정보 등록 (/etc/passwd)
		case "$acckind" in
       			"free"		)  userad=$(useradd $account -c $acckind -s "/bin/false" -d "$homedir/$account") ;;
        		"pro"		)  userad=$(useradd $account -c $acckind -s "/bin/bash" -d "$homedir/$account") ;;
 	 	      	"pro1"		)  userad=$(useradd $account -c $acckind -s "/bin/bash" -d "$homedir/$account") ;;
        		"pro2"		)  userad=$(useradd $account -c $acckind -s "/bin/bash" -d "$homedir/$account") ;;
        		"devperson"	)  userad=$(useradd $account -c $acckind -s "/bin/bash" -d "$homedir/$account") ;;
       		 	"devcast"	)  userad=$(useradd $account -c $acckind -s "/bin/bash" -d "$homedir/$account") ;;
      		  	"devfan"	)  userad=$(useradd $account -c $acckind -s "/bin/bash" -d "$homedir/$account") ;;
       		 	"server"	)  userad=$(useradd $account -c $acckind -s "/bin/bash" -d "$homedir/$account") ;;
       		 	*  		) echo ">>> 계정 종류가 정확하지 않습니다." ; funcuseradd ;;
		esac

		if $userad ; then

			passwordinput () {
			echo
			echo -n "### 비밀 번호를 입력하여 주세요 : "
			read passaccount

			if [ ! $passaccount ];then
			passwordinput
			fi
			}

			passwordinput
			echo $passaccount | passwd $account --stdin 
			chown "$account"."$httpdown" "$homedir/$account"
			chmod 710 "$homedir/$account"
			echo "initdate	$(date +%Y-%m-%d\ %H:%M)" >> $homedir/$account/.userinfo
			
			# htdocs 확인 
			if [ $htdocs ] && [ ! -d "$homedir/$account/$htdocs" ] ; then
				mkdir "$homedir/$account/$htdocs"
	                        chown "$account"."$account" "$homedir/$account/$htdocs"
				chmod 711 "$homedir/$account/$htdocs"
			fi

			echo
			echo "=================================================="
			echo ">>> 계정 $account 이 생성 되었습니다"
			echo ">>> 홈 디렉 $homedir 에 대한 정보입니다"
			echo
		        ls -l $homedir |grep "\<$account\>"
			echo
			cat /etc/passwd | grep "^$account:"
			echo "=================================================="

		# 정상 계정 등록 체크 시트
		checkupacc="y"

		fi
	else
		echo 
		echo ">>> $homedir 디렉이 존재하지 않습니다"
		homedir=$homediris
		funcuseradd
	fi
}
funcuseradd

##########################
# DB 설정 
##########################

	echo
	echo -n "### 디비를 설정하시겠습니까? [y/n] ( default : Y ) : "
	read dbok
		if [ "$dbok" = "n" ] || [ "$dbok" = "N" ]; then
			echo
			echo ">>> 디비설정이 취소 되었습니다"
		else

			funcdb () {
			echo
			echo -n "### 디비네임을 입력하세요 ( default : $account$dbnametail ) : "
			read dbname

			if [ ! $dbname ]; then
				dbname="$account""$dbnametail"
			fi

			if [ $dbname ]; then
				echo dbname is $dbname 
				echo
				echo -n "### 디비 암호를 입력하세요 ( default : $passaccount ) : "
				read pass
					
					if [ ! $pass ]; then
						pass=$passaccount
					fi
					echo "dbpasswd is $pass"

				echo "create database $dbname;" > /tmp/dbadd.sql
				echo "grant all privileges on $dbname.* to $account@localhost identified by '${pass}';" >> /tmp/dbadd.sql
				chmod 700 /tmp/dbadd.sql	
				echo
				echo ">>> 다음 sql 문이 실행됩니다"
				echo
				echo "=================================================="
				cat /tmp/dbadd.sql
				echo "=================================================="
				echo
				echo ">>> 디비가 다음과 같이 추가후 검색되었습니다.(해당디비가 나오면 정상추가)"
				mysql mysql < /tmp/dbadd.sql
				mysqlshow -h localhost | grep "\<$dbname\>"
				rm -rf /tmp/dbadd.sql
			fi
			}
		funcdb
		fi
		
elif [ ! $where = 1 ] && [ $currentserver = 1 ]; then
	echo
	echo ">>> $where 차 서버 셋팅이므로 1차 서버에선 네임서버 와 메일 포워딩 설정만 진행됩니다."
	echo ">>> $where 차 서버의 계정 생성시엔 $where 차서버에서 addon 스크립을 한번더 실행하셔야 합니다"
else 
	echo
	echo ">>> 1차 에서 타서버 네임서버 셋팅 혹은 현재서버의 계정 셋팅이 아닌경우 취소가 됩니다."
	exit 0
fi
echo
echo "------------------------------------------------------------"
echo "계정 셋팅 여부 : $checkupacc ( y = 셋팅됨, n = 셋팅안됨 )"
echo "------------------------------------------------------------"

####################
# 네임서버 설정  
####################

echo
echo ">>> 네임서버 설정은 1 차 서버에서만 셋팅이 진행 됩니다"

	if [ $currentserver = 1 ]; then
		echo -n "### 네임서버를 설정하시겠습니까? [Y/n] ( default : Y ) : "
		read nameok
	else 
		echo ">>> 1 차 서버가 아니므로 네임서버 설정은 하지 않습니다."
		nameok="n"
	fi
	        
	if [ "$nameok" = "n" ] || [ "$nameok" = "N" ]; then
		echo ">>> 설정이 취소 되었습니다"
	else

		clear
		### 현재 서버가 1차 서버 일 경우 네임서버 설정 

		if [ $currentserver = 1 ] ;then

			# 계정 등록을 하지 않고, 네임서버만 설정할 경우 account 정보 취득
			if [ ! "$checkupacc" = "y" ]; then 
			funcacc		
			fi		

			# 무단 스크립 종료시 남아있을 수 있는 임시파일 삭제
			rm -rf /tmp/zone            
			rm -rf /tmp/hosting
			rm -rf /tmp/named.conf
			rm -rf /tmp/virtusertable
			rm -rf /tmp/localhostnames

			echo -n "### 개인 도메인이 있습니까? [y/n] ( default : Y ) : "
			read pdomain

			### 개인 도메인이 없을 경우 

			# 포워딩할 메일서버주소를 취득
			case "$ipsetup" in
				"$ip1"	) mailforwarding=$mail;;
				"$ip2"	) mailforwarding=$mail2;;
				"$ip3"	) mailforwarding=$mail3;;
				"$ip4"	) mailforwarding=$mail4;;
				"$ip5"	) mailforwarding=$mail5;;
				"$ip6"	) mailforwarding=$mail6;;
				"$ip7"	) mailforwarding=$mail7;;
				"$ip8"	) mailforwarding=$mail8;;
				"$ip9"	) mailforwarding=$mail9;;
				"$ip10"	) mailforwarding=$mail10;;
				"$ip11"	) mailforwarding=$mail11;;
				"$ip12"	) mailforwarding=$mail12;;
				"$ip13"	) mailforwarding=$mail13;;
				"$ip14"	) mailforwarding=$mail14;;
				*	) ;;
			esac


			if [ "$pdomain" = "n" ] || [ "$pdomain" = "N" ]; then
				
				echo
				echo "$account		IN	A	$ipsetup" > /tmp/zone
				echo
				echo ">>> 다음 내용이 $default_zonefile 에 등록되었습니다"
				echo "=================================================="
					cat /tmp/zone
				echo "=================================================="
				cat /tmp/zone >> $default_zonefile
				echo ">>> 서브 도메인 이므로 virtusertable 에 메일 등록을 하지 않습니다"
				
				# 설정할 계정 서버가 1차 서버가 아닌경우 메일 포워딩
				if [ ! $ipsetup = 1 ];then
					echo
					echo ">>> 메일 주소가 포워딩 됩니다."
					echo "$account@$domain		$account@$mailforwarding" > /tmp/virtusertable
					echo
					echo ">>> 다음 내용이 $virtusertable 에 등록되었습니다"
					echo "=================================================="
					cat /tmp/virtusertable
					echo "=================================================="
					echo
					cat /tmp/virtusertable >> $virtusertable
					makemap hash $virtusertable < $virtusertable
					echo ">>> Mail Daemon's virtusertable DB 가 갱신되었습니다"
					rm -rf /tmp/virtusertable
				fi
			else

			### 개인 도메인이 있을 경우

			funcdns () {
				echo
				echo -n "### 개인 도메인 명을 말하세요. (ex. $account.net) : "
				read yourdomain

				if [ ! $yourdomain ]; then
				funcdns 
				fi
			}
		 	funcdns

				zone="$yourdomain"".zone"
				echo
				echo "\$TTL 86400" > /tmp/zone
				echo "@       IN      SOA     $ns       master.$domain. (" >> /tmp/zone
		       		echo "$serial      ;serial">> /tmp/zone
			        echo "10800           ;refresh">> /tmp/zone
			        echo "3600            ;retry">> /tmp/zone
			        echo "604800          ;expire">> /tmp/zone
			        echo "86400           ;minimum">> /tmp/zone    
				echo ")">> /tmp/zone    
				echo "        IN      NS      $ns">> /tmp/zone     
				echo "        IN      NS      $ns2">> /tmp/zone     
				echo "@       IN      A       $ipsetup">> /tmp/zone 
				echo "ns      IN      A       $nsip">> /tmp/zone
				echo "ns2     IN      A       $ns2ip">> /tmp/zone
				echo "www     IN      A       $ipsetup">> /tmp/zone

				echo
				echo ">>> 다음 내용이 $zonedir$zone 에 등록되었습니다"
				echo "=================================================="
				cat /tmp/zone
				echo "=================================================="
				echo "zone \"$yourdomain\" IN {type master;			file \"$zone\"; };" >/tmp/named.conf
				echo
				echo ">>> 다음 내용이 $namedconf 에 등록되었습니다"
				echo "=================================================="
				cat /tmp/named.conf
				echo "=================================================="
			
		
				cat /tmp/zone >> $zonedir$zone
				cat /tmp/named.conf >> $namedconf
				rm -rf /tmp/zone
                		rm -rf /tmp/named.conf

			fi
			
			if [ ! $1 ]; then # 대량 계정 셋팅시 데몬 재시작 취소 
			$named restart
			echo ">>> 네임서버가 재시작 되었습니다"
			fi

			# 네임 서버 정상 셋팅 체크 시트
			checkupname="y"

		else
			echo ">>> 1차 서버가 아니므로 네임서버 설정은 취소 되었습니다"
		fi

		# 1차서버에서 타서버 네임서버 셋팅후 스크립 종료
		if [ ! $where = $currentserver ] ; then
			echo ">>> 네임서버 셋팅이 정상적으로 등록되었습니다. 스크립이 종료됩니다."
			echo
			exit
		fi

	fi

echo
echo "------------------------------------------------------------"
echo " 네임서버 셋팅 여부 : $checkupname ( y = 셋팅됨 , n = 셋팅 안됨 )"
echo "------------------------------------------------------------"

####################
# 메일 서버 설정  
####################

	echo
	# 개인 도메인이 있는 경우 디폴트 값을 변경
	if [ $yourdomain ] || [ ! "$currentserver" = "1" ]; then
		echo ">>> 개인 도메인이 있는 경우는 필히 셋팅을 하셔야 합니다"
		echo -n "### 메일 서버를 설정하시겠습니까? [Y/n] ( default : Y ) : "
		read mailok
	else 
		echo ">>> 개인 도메인이 없는 경우는 메일 서버 셋팅을 하지 않으셔도 됩니다"
		echo -n "### 메일 서버를 설정하시겠습니까? [y/N] ( default : N ) : "
		read mailok

		if [ ! $mailok ] ; then
		mailok="n"
		fi
	fi

	if [ "$mailok" = "n" ] || [ "$mailok" = "N" ]; then
		echo ">>> 설정이 취소 되었습니다"
	else
		# 네임 서버 설정을 건너뛴경우 나 1차 서버가 아니라서 네임서버 설정을 않했을때 
	        if [ "$nameok" = "n" ] || [ "$nameok" = "N" ]; then
			echo -n "### 개인 도메인이 있습니까? [y/n] ( default : Y ) : "
                	read pdomain
			if [ "$pdomain" = "n" ] || [ "$pdomain" = "N" ]; then
				echo ">>> 개인 도메인이 없는 경우 메일 서버 설정을 하실수 없습니다"
			else
			funcdns () {
				echo
				echo -n "### 개인 도메인 명을 말하세요. (ex. $account.net) : "
				read yourdomain

				if [ ! $yourdomain ]; then
				funcdns 
				fi
			}
			funcdns
			fi
		fi

		if [ "$pdomain" = "n" ] || [ "$pdomain" = "N" ]; then
			echo 
		else
		funcemail () {
			echo
			echo -n "### 포워딩할 이메일 주소를 적어주세요 ( default : $account@$yourdomain ) : "
			read email

			if [ ! $email ]; then
	 			email="$account"@$yourdomain
			fi

			echo ">>> 메일 주소가 $email 로 지정됩니다"
			echo "$email		$account@$mail" > /tmp/virtusertable
			echo

			echo ">>> 다음 내용이 $virtusertable 에 등록되었습니다"
			echo "=================================================="
			cat /tmp/virtusertable
			echo "=================================================="
			echo

			echo "$yourdomain" > /tmp/localhostnames

			echo ">>> 다음 내용이 $localhostnames 에 추가 되었습니다"
			echo "=================================================="
			cat /tmp/localhostnames
			echo "=================================================="
			echo
		}
			funcemail	

			cat /tmp/virtusertable >> $virtusertable
			cat /tmp/localhostnames >> $localhostnames
			makemap hash $virtusertable < $virtusertable
			echo ">>> Mail Daemon's virtusertable DB 가 갱신되었습니다"

			# sendmail restart (도메인 등록자에 한해 재시작 반영)
			if [ ! $1 ]; then # 대량 계정 셋팅시 데몬 재시작 취소
			$sendmaild restart
			echo ">>> 센드메일 데몬이 재시작 되었습니다"
			fi

			rm -rf /tmp/virtusertable
			rm -rf /tmp/localhostnames
		fi
	fi

####################
# 웹 서버 설정  
####################

	### httpd.conf 파일 셋팅

	echo
	echo > /tmp/hosting
	echo "### 등록일: $dat 계정명: $account 계정종류: $acckind ###" >> /tmp/hosting
	echo "<VirtualHost $currentip>" >> /tmp/hosting

	# 개인 이메일의 유무 
	if [ ! $email ] ;then
		echo "	ServerAdmin $account@$domain" >> /tmp/hosting
	else
		echo "	ServerAdmin $email" >> /tmp/hosting
	fi

	echo "	DocumentRoot $homedir/$account/$htdocs" >> /tmp/hosting

	# 개인 도메인의 유무
	if [ ! $yourdomain ]; then
   		echo "	ServerName $account.$domain" >> /tmp/hosting
	else
		echo "	ServerName www.$yourdomain" >> /tmp/hosting
		echo "	ServerAlias $yourdomain" >> /tmp/hosting			
	fi
	
	# 웹 트래픽 제한 ( throttle policy ) 
	if [ "$throttleset" = "y" ]; then
		case "$acckind" in
			"free"		)  echo "	ThrottlePolicy $vfree " >> /tmp/hosting ;;
       			"pro"		)  echo "	ThrottlePolicy $vpro " >> /tmp/hosting ;;
	      		"pro1"		)  echo "	ThrottlePolicy $vpro1 " >> /tmp/hosting ;;
       			"pro2"		)  echo "	ThrottlePolicy $vpro2 " >> /tmp/hosting ;;
       			"devperson"	)  echo "	ThrottlePolicy $vdevperson " >> /tmp/hosting ;;
		 	"devcast"	)  echo "	ThrottlePolicy $vdevcast " >> /tmp/hosting ;;
		  	"devfan"	)  echo "	ThrottlePolicy $vdevfan " >> /tmp/hosting ;;
       			"server"	)  echo "	ThrottlePolicy $vserver " >> /tmp/hosting ;;
       	 		*  		)  echo ">>> throttle policy 정책이 수립되지 않았습니다" ;;
		esac
	fi

	# asf,wma 파일 플레이 차단 셋팅 여부
	if [ "$streaming" = y ] ; then
		echo -n "### 실시간 파일(asf,wma) 을 지원하시겠습니까? (Default : y) : "		
		read streaming 

		if [ "$streaming" = "n" -o "$streaming" = "N" ] ; then
			echo "	<Directory \"$homedir/$account/\"> " >> /tmp/hosting
			echo "		<Files ~ \"\\.(as.|wm.)$\"> " >> /tmp/hosting
			echo "		Order allow,deny " >> /tmp/hosting
			echo "		Deny from all " >> /tmp/hosting
			echo "		</Files> " >> /tmp/hosting
			echo "	</Directory> " >> /tmp/hosting
		fi
	fi

	# 로그 파일 셋팅
	if [ ! $yourdomain ]; then
    		echo "	ErrorLog logs/$account.$domain-error_log" >> /tmp/hosting
    		echo "	CustomLog logs/$account.$domain-access_log combined" >> /tmp/hosting
	else
		echo "	ErrorLog logs/$yourdomain-error_log" >> /tmp/hosting
		echo "	CustomLog logs/$yourdomain-access_log combined" >> /tmp/hosting
	fi

	echo "</VirtualHost>" >> /tmp/hosting

	echo ">>> 다음 내용이 $conf 에 등록되었습니다"
	echo "=================================================="
	cat /tmp/hosting
	echo "=================================================="

	cat /tmp/hosting >> $conf
	if [ ! $1 ]; then # 대량 계정 셋팅시 데몬 재시작 취소 
	$httpd restart
	fi
	
	echo
	echo ">>> httpd 서버가 재시작되었습니다"	

	rm -rf /tmp/zone
	rm -rf /tmp/hosting

#########################
# 제로보드 자동 설치 지원
##########################

if [ "$zeroinstdefault" = "y" ]; then
	echo
	echo -n "### 제로보드 설치지원을 하시겠습니까? [Y/n} ( default : $zeroinstdefault ) : "
	read zeroinst
		
	if [ ! $zeroinst ]; then
	zeroinst=$zeroinstdefault
	fi

	if [ "$zeroinst" = "y" ] || [ "$zeroinst" = "Y" ];then
		if [ -d $zeroinstdir ] ; then
			cp -a $zeroinstdir $homedir/$account/$htdocs/$zerodirname
			chmod 707 $homedir/$account/$htdocs/$zerodirname
			chown $account.$account $homedir/$account/$htdocs/$zerodirname -R
			echo ">>> $zeroinstdir 의 자료를 홈 디렉으로 복사 성공하였습니다"
		else 
			echo ">>> $zeroinstdir 이 존재하지 않습니다. 제로보드 설치에 실패했습니다"
		fi
	else
		echo
		echo ">>> 제로보드 설치지원이 취소되었습니다"	
	fi

fi
	

##############################
# 가입자 index.html 파일 생성
##############################

# /etc/skel/ 하위에 존재할수 있는 index.html 파일을 무시하고 새로 파일 생성을 원할경우
# 가입자 정보를 기초로 index.html 파일을 생성

if [ $indexfiledefault = "y" ]; then
	echo > /tmp/index.html
	cat >> /tmp/index.html << EOF

	<html>
	<body background="http://byus.net/image/bgcheck.gif">

	<table align=center width=800>
	  <tr>
	    <td>
<pre>
$domain 에서 알립니다.

$account 회원님의 가입을 축하 드립니다.
현재 이 사이트는 정상적으로 오픈 되었습니다.

* 계정 등록일 :$(date +%Y-%m-%d\ %H:%M) 

* 등록 서버 : $where 차 서버 
* 등록 서버 아이피 : $ipsetup 

* 계정 아이디 : $account 
* 계정 비번 : 신청하신 비밀번호
* 계정 종류 : $acckind
* 홈 디렉토리 : $homedir/$account/$htdocs/

* HOSTNAME : localhost
* MYSQL DB NAME : $dbname
* MYSQL DB PASSWORD : 계정 비번과 동일
* MYSQL DB USER : $account

</pre>
EOF
	# 제로보드 설치링크 바로가기
	if [ "$zeroinst" = "y" ] || [ "$zeroinst" = "Y" ];then
			echo "<span style='font-size:9pt;'>* 제로보드 인스톨 바로가기 <a href=/$zerodirname/admin.php>[ GO ]</a></span><br>">>/tmp/index.html	
			echo "<span style='font-size:9pt;'>* 제로보드 메뉴얼 새창열기 <a href=http://nzeo.com/manual/index.html target=_blank>[ GO ]</a></span><br>">>/tmp/index.html	
	fi


	cat >> /tmp/index.html << EOF
	    </td>
	  </tr>
	</table>

	</body>
	</html>

EOF
	echo ">>> index.html 파일이 생성되었습니다"
	mv -f /tmp/index.html $homedir/$account/$htdocs/index.htm
	chown $account.$account $homedir/$account/$htdocs/index.htm
fi

##################################
# 가입자에게 메일 보내는 스크립트
##################################

echo 
echo "### 시스템관리자( $sysopmailaddress )와 가입자에게 동시에 메일이 발송됩니다"
echo -n "### 가입자에게 가입완료 메일을 보내시겠습니까? [y/n] ( default : $submitmailsenddefault ) : "
read submitmailsend

if [ ! $submitmailsend ];then
submitmailsend=$submitmailsenddefault
fi

if [ "$submitmailsend" = "y" -o "$submitmailsend" = "Y" ]; then
	echo
	echo -n "### 가입자의 메일주소를 적으세요 : "
	read usermailaddress
else
	echo
	echo ">>> 시스템 관리자 에게만 가입정보 메일이 보내집니다"
fi

title="[ $account ] 회원님 가입처리 현황 - $domain"
titleuser="[ $domain ] $account 회원님의 가입처리가 완료 되었습니다"

echo > /tmp/submit.txt 
chmod 700 /tmp/submit.txt

#year=$(date +%Y)
#month=$(date +%m)
#day=$(date +%d)

cat >> /tmp/submit.txt << EOF
* $domain 에서 계정 셋팅결과를 알립니다.

* 이 메일은 가입자와 운영자에게 송신되는 메일 입니다.
* 셋팅에 이상한 점이 있으면, 운영진 에게 연락 바랍니다.
* 문의 메일 : mailto:$sysopmailaddress

=================
 :: 회원정보 ::
=================

* 계정 등록일 :$(date +%Y-%m-%d\ %H:%M) 

* 등록 서버 : $where 차 서버 
* 등록 서버 아이피 : $ipsetup 
* 등록 서버 호스트 : $(hostname)

* 1차 네임서버 : $ns ( $nsip )
* 2차 네임서버 : $ns2 ( $ns2ip )

-> 도메인 소지분들은 도메인 등록기관에 가신후 위의 네임서버로 정보를
   갱신하시기 바랍니다. ( 갱신 반영소요시간 24~48시간 )

* 계정 아이디 : $account 
* 계정 비번 : $passaccount 
* 계정 종류 : $acckind
* 홈 디렉토리 : $homedir/$account/$htdocs/

=================
 :: 디비 정보 ::
=================

* HOSTNAME : localhost
* MYSQL DB NAME : $dbname
* MYSQL DB PASSWORD : $passaccount 
* MYSQL DB USER : $account 

EOF

if [ $yourdomain ];then
	echo "* Home Address : http://$yourdomain">> /tmp/submit.txt
	homeaddress="$yourdomain"
else
	echo "* Home Address : http://$account.$domain">> /tmp/submit.txt
	homeaddress="$account.$domain"
fi

if [ $email ];then
	echo "* Email Address : mailto:$email">> /tmp/submit.txt
	echo "* User Email : mailto:$usermailaddress">> /tmp/submit.txt
else
	echo "* Email Address : mailto:$account@$domain">> /tmp/submit.txt
	echo "* User Email : mailto:$usermailaddress">> /tmp/submit.txt
fi

cat >> /tmp/submit.txt << EOF

=================
 :: 접속정보 ::
=================

EOF

if [ $yourdomain ];then
	echo "* FTP 접속 주소 : FTP://$yourdomain">> /tmp/submit.txt
	echo "* SSH / TELNET 접속 주소 : $yourdomain">> /tmp/submit.txt
	echo "* POP/SMTP Server Address : $mail">> /tmp/submit.txt
else
	echo "* FTP 접속 주소 : FTP://$account.$domain">> /tmp/submit.txt
	echo "* SSH / TELNET 접속 주소 : $account.$domain">> /tmp/submit.txt
	echo "* POP/SMTP Server Address : $mail">> /tmp/submit.txt
fi

cat >> /tmp/submit.txt << EOF




EOF

# 운영진에게 계정 셋팅 메일 송신

mail -s "$title" $usermailaddress $account $sysopmailaddress $sysopmailaddress2 < /tmp/submit.txt
echo
echo ">>> 메일을 $sysopmailaddress $account $usermailaddress  로 송신하였습니다"
rm -rf /tmp/submit.txt

# 가입자에게 계정 셋팅 메일 송신
# 유닉스 메일 명령으로 html 파일 송신이 제대로 보이지 않은 현상관련 보류중.
#if [ $usermailaddress ]; then
#	if [ -f $mailfile ]; then
#		mail -s "$titleuser" $usermailaddress < $mailfile
#		echo
#		echo ">>> 가입자에게 등록 완료 메일을 송신하였습니다"
#	else 
#		echo
#		echo ">>> 가입자에게 보낼 메일 파일이 존재하지 않습니다"
#		echo ">>> 가입자에게 계정셋팅처리 메일 송신에 실패했습니다"
#	fi
#fi

###############################################
# 가입자 정보 기록 /root/userinfo
###############################################

# 초기화 (/root/userinfo 원본)
if [ ! -f  /root/userinfo ]; then
	touch /root/userinfo
	chmod 644 /root/userinfo
	echo "# 사용자 계정 정보 등록 파일" >> /root/userinfo
	echo >> /root/userinfo
fi

# 개인 정보 등록
# 아이디 이메일 홈주소 계정등록일 (tab 으로 구분)

if [ /root/userinfo ]; then
	if [ $(cat /root/userinfo|grep "\<$account\>") ]; then
		echo 
		echo ">>> 동일 아이디가 /root/userinfo 에 등록되어 있습니다"
		echo "$account	$usermailaddress	$homeaddress	$(date +%Y-%m-%d)" >> /root/userinfo
	else
		echo "$account	$usermailaddress	$homeaddress	$(date +%Y-%m-%d)" >> /root/userinfo
	fi
fi

# 초기화 (/bin/userinfo 사본 - 계정 이용자들 참조용)
if [ ! -f  /bin/userinfo ]; then
	touch /bin/userinfo
	chmod 644 /bin/userinfo
	echo "# 사용자 계정 정보 등록 파일" >> /bin/userinfo
	echo >> /bin/userinfo
fi

# 개인 정보 등록
# 아이디 이메일 홈주소 계정등록일 (tab 으로 구분)

if [ /bin/userinfo ]; then
	if [ $(cat /bin/userinfo|grep "\<$account\>") ]; then
		echo 
		echo ">>> 동일 아이디가 /bin/userinfo 에 등록되어 있습니다"
		echo "$account	$usermailaddress	$homeaddress	$(date +%Y-%m-%d)" >> /bin/userinfo
	else
		echo "$account	$usermailaddress	$homeaddress	$(date +%Y-%m-%d)" >> /bin/userinfo
	fi
fi


#################################################
# 외부 웹 얼라이져 설정 파일을 불러오는 스크립트 
#################################################

echo
echo -n "### 웹 얼라이져 로그 작업을 시작하시겠습니까? [y/n] ( default : $webalizeradddefault ) : "
read webalizeradd

if [ ! $webalizeradd ] ; then
	webalizeradd=$webalizeradddefault
fi

if [ "$webalizeradd" = "n" -o "$webalizeradd" = "N" ]; then
	echo
	echo "### 모든 설정이 끝났습니다 ###"
	echo
else
	if [ -f /root/logsadd ];then 
		/root/logsadd $account
	else
		echo ">>> 스크립 파일이 존재하지 않습니다. 로그 얼라이져 스크립 실행이 중단되었습니다"
	fi

	echo
	echo "### 모든 설정이 끝났습니다 ###"
	echo 
fi

##########################
#도메인의 후이즈 정보 보기
##########################

if [ $yourdomain ]; then
	echo -n "### $yourdomsin 도메인의 whois 정보를 보시겠습니까? [y/n] ( default : y ) : "
	read whoisok

	if [ ! "$whoisok" = "n" -o ! "$whoisok" = "N" ]; then
		whois $yourdomain
		echo
		ping -c3 $yourdomain
		echo
	fi
fi
endtime=$(date +%s)
jobtime=`expr $endtime - $starttime`
echo "스크립 실행 소요시간 : $jobtime 초"

# addon 2.

#!/bin/bash 
# Usage : ./adduser id password e-mail 
# 2002/11/3 최초 작성 
# 2002/11/4 제로보드 설치지원 추가, 
#                 메일보내기 지원, 안내페이지 변경, 사용자 체크 
# 2002/12/5 logrotate 설정 추가 

dateis=$(date +%Y/%m/%d) 
timeis=$(date | awk '{print $4}') 

# ./adduser.sh 실행시 변수가 있는지 체크 
if [ $# = 0 ] 
        then 
                echo "Usage: ./adduser.sh id pass e-mail" 
                exit 1 
        fi 

# 사용자 계정 생성 
       if useradd -g hosting $1 
       then 
       echo $2 | /usr/bin/passwd --stdin $1 

# 제로보드 설치 지원 
       echo -n "Zeroboard Install? - [Y/N](default N) : " 
       read zero 
       if [ "$zero" = "y" ] || [ "$zero" = "Y" ]; then 
                cp -R /home/chicpro/bbs/ /home/$1/public_html/ 
                chown -R $1.hosting /home/$1/public_html/bbs 
                chmod 707 /home/$1/public_html/bbs 
                chmod 707 /home/$1/public_html/bbs/data 
                chmod 707 /home/$1/public_html/bbs/icon 
       fi 

# weblogs 디렉토리 생성 
        mkdir /home/$1/public_html/weblogs 

# Mysql 에 새로운 DB 를 추가합니다. 
       echo -n "MYSQL DB Create? - [y/n](default n) : " 
       read db 
       if [ "$db" = "y" ] || [ "$db" = "Y" ]; then 
               echo -n "MYSQL root password: " 
               read pass 
               touch /tmp/mysql_dbusersetup_temp 
               echo "create database $1;" >> /tmp/mysql_dbusersetup_temp 
               echo "insert into db values('localhost','$1','$1','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');" >> /tmp/mysql_dbusersetup_temp 
               echo "insert into user values('localhost','$1',password('$2'),'N','N','N','N','N','N','N','N','N','N','N','N','N','N');" >> /tmp/mysql_dbusersetup_temp 
               /usr/bin/mysql -u root -p$pass mysql < /tmp/mysql_dbusersetup_temp 
               rm -f /tmp/mysql_dbusersetup_temp 
               /usr/bin/mysqladmin -u root -p$pass reload 
       fi 

# quota 설정 
#         edquota -u $1 

# 아파치 vhost.conf 파일에 가상호스트 부분을 추가함 
        echo " " >> /etc/httpd/conf/vhost.conf 
        echo "<VirtualHost www.cable.websamo.net>" >> /etc/httpd/conf/vhost.conf 
        echo "    ServerAdmin $3" >> /etc/httpd/conf/vhost.conf 
        echo "    DocumentRoot /home/$1/public_html" >> /etc/httpd/conf/vhost.conf 
        echo "    ServerName  $1.cable.websamo.net" >> /etc/httpd/conf/vhost.conf 
        echo "    ThrottlePolicy Volume 100M 1d" >> /etc/httpd/conf/vhost.conf 
        echo "    ErrorLog logs/$1-error_log" >> /etc/httpd/conf/vhost.conf 
        echo "    CustomLog logs/$1-access_log combined env=!nosave" >> /etc/httpd/conf/vhost.conf 
        echo "</VirtualHost>" >> /etc/httpd/conf/vhost.conf 

# 사용자별 Webalizer 설정 
       echo "LogFile        /var/log/httpd/$1-access_log" >> /etc/webalizer/$1-webalizer.conf 
       echo "LogType   clf" >> /etc/webalizer/$1-webalizer.conf 
       echo "OutputDir      /home/$1/public_html/weblogs" >> /etc/webalizer/$1-webalizer.conf 
       echo "HistoryName       webalizer.hist" >> /etc/webalizer/$1-webalizer.conf 
       echo "Incremental       yes" >> /etc/webalizer/$1-webalizer.conf 
       echo "IncrementalName   webalizer.current" >> /etc/webalizer/$1-webalizer.conf 
       echo "HostName       $1.websamo.net" >> /etc/webalizer/$1-webalizer.conf 
       echo "PageType  htm*" >> /etc/webalizer/$1-webalizer.conf 
       echo "PageType  cgi" >> /etc/webalizer/$1-webalizer.conf 
       echo "PageType  php" >> /etc/webalizer/$1-webalizer.conf 
       echo "PageType  php3" >> /etc/webalizer/$1-webalizer.conf 

       echo "/usr/local/bin/webalizer -c /etc/webalizer/$1-webalizer.conf" >> /root/cron/webalizer.cron 

# logrotate 설정 추가 
       echo " " >> /etc/logrotate.d/apache 
       echo "/var/log/httpd/$1-access_log {" >> /etc/logrotate.d/apache 
       echo "    missingok" >> /etc/logrotate.d/apache 
       echo "    postrotate" >> /etc/logrotate.d/apache 
       echo "        /usr/bin/killall -HUP httpd" >> /etc/logrotate.d/apache 
       echo "    endscript" >> /etc/logrotate.d/apache 
       echo "}" >> /etc/logrotate.d/apache 
       echo " " >> /etc/logrotate.d/apache 
       echo "/var/log/httpd/$1-error_log {" >> /etc/logrotate.d/apache 
       echo "    missingok" >> /etc/logrotate.d/apache 
       echo "    postrotate" >> /etc/logrotate.d/apache 
       echo "        /usr/bin/killall -HUP httpd" >> /etc/logrotate.d/apache 
       echo "    endscript" >> /etc/logrotate.d/apache 
       echo "}" >> /etc/logrotate.d/apache 

# 사용자별 사용량 체크 추가 
       echo "/usr/bin/du -sh /home/$1 >> /home/chicpro/usage.txt" >> /root/cron/usage.cron 

# 안내페이지 생성 
       echo "                 <td><p><b>웹사모의 가족이 되신 것을 진심으로 축하드립니다!!<br>" >> /home/$1/public_html/index.html 
       echo "                          현재</b>($dateis $timeis)<b> $1 님의 계정이 발급되었습니다.<br>" >> /home/$1/public_html/index.html 
       echo "                          아래 내용은 신청하신 정보입니다.</b><br><br>" >> /home/$1/public_html/index.html 
       echo "                          ID : $1 / 신청하신 Password / E-mail : $3<br>" >> /home/$1/public_html/index.html 
       echo "                          웹주소 : http://$1.websamo.net<br>" >> /home/$1/public_html/index.html 
       echo "                          FTP : ftp.websamo.net 포트 9585 / SSH : ssh.websamo.net 포트 22<br>" >> /home/$1/public_html/index.html 
       if [ "$zero" = "y" ] || [ "$zero" = "Y" ]; then 
       echo "                          제로보드 설치지원 : <a href=http://$1.cable.websamo.net:9000/bbs/install.php target=_blank>제로보드설치</a><br><br>" >> /home/$1/public_html/index.html 
       else 
       echo "                          <br>" >> /home/$1/public_html/index.html 
       fi 
       echo "                          <b>기타 문의 사항은 </b><a href=http://websamo.net><b>http://websamo.net</b></a><b> 을 방문해 주시기 바랍니다</b></p>" >> /home/$1/public_html/index.html 
       echo "                          </td>" >> /home/$1/public_html/index.html 
       echo "              </tr>" >> /home/$1/public_html/index.html 
       echo "            </table>" >> /home/$1/public_html/index.html 
       echo "          </td>" >> /home/$1/public_html/index.html 
       echo "          <td bgcolor=#76CBED width=1></td>" >> /home/$1/public_html/index.html 
       echo "        </tr>" >> /home/$1/public_html/index.html 
       echo "        <tr>" >> /home/$1/public_html/index.html 
       echo "          <td colspan=3><img src=title_error02.gif width=586 height=9 border=0></td>" >> /home/$1/public_html/index.html 
       echo "        </tr>" >> /home/$1/public_html/index.html 
       echo "      </table>" >> /home/$1/public_html/index.html 
       echo "     </td>" >> /home/$1/public_html/index.html 
       echo "  </tr>" >> /home/$1/public_html/index.html 
       echo "</table>" >> /home/$1/public_html/index.html 
       echo "        </td>" >> /home/$1/public_html/index.html 
       echo "    </tr>" >> /home/$1/public_html/index.html 
       echo "</table>" >> /home/$1/public_html/index.html 
       echo " </body>" >> /home/$1/public_html/index.html 
       echo "</html>" >> /home/$1/public_html/index.html 

# 계정 발급 완료 메일 보내기 
       title="계정 발급 안내 입니다."          # 메일 제목 

       echo " 계정 발급 및 세팅이 완료되었습니다." > /tmp/contents         # 보낼 메일 내용 
       echo " ==================================" >> /tmp/contents      # 보낼 메일 내용 
       echo " 계정 세팅이 완료 되었습니다. ($dateis $timeis)" >> /tmp/contents 
       echo " 아래는 신청하신 정보입니다." >> /tmp/contents 
       echo " 일치하지 않으면 메일 (chicpro@korea.com) 주세요." >> /tmp/contents 
       echo " " >> /tmp/contents 
       echo " ID : $1" >> /tmp/contents 
       echo " PASS : $2" >> /tmp/contents 
       echo " e-mail : $3" >> /tmp/contents 
       echo " " >> /tmp/contents 
       echo " WEB주소 : http://$1.websamo.net" >> /tmp/contents 
       echo " FTP주소 : ftp.websamo.net 포트 9585" >> /tmp/contents 
       echo " SSH주소 : ssh.websamo.net 포트 22" >> /tmp/contents 
       echo " " >> /tmp/contents 
       echo " 웹주소로 접속하면 안내페이지를 보실 수 있습니다." >> /tmp/contents 
       echo " " >> /tmp/contents 
       echo " 기타 궁금하신 점은 http://websamo.net 을 방문해주세요." >> /tmp/contents 

       cat /tmp/contents >> /tmp/data.txt 
       rm -f /tmp/contents 

       mail -s "$title" $3 < /tmp/data.txt 
       rm -f /tmp/data.txt 

# 아파치 서버 재 구동 
        /etc/init.d/httpd restart 

       exit 0 

        else 
        echo " User $1 already exist!!" 
        exit 1 

       fi

첨부파일

공유 X Facebook LINE QR 코드

댓글 0개

첫 댓글을 남겨보세요.