웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
사용자 자동 등록 쉘스크립트
2002.11.05 01:05
개인 서버를 운영하면서 계정 등록을 편하게 하기 위해 만들었습니다.
인터넷 이곳 저곳 뒤지면서 얻은 자료들을 짜깁기 해서 만들었네요.
#File Name : adduser
#!/bin/bash
# Usage : ./adduser id password e-mail
# 2002/11/3 최초 작성
# 2002/11/4 제로보드 설치지원 추가,
# 메일보내기 지원, 안내페이지 변경, 사용자 체크
# 날짜와 시간 얻기
dateis=$(date -I)
timeis=$(date | awk '{print $4}')
# 사용자 계정 생성 ( 사용자 체크 )
# public_html 은 /etc/skel/ 에 위치해서 계정생성시 자동으로 생성
# public_html 퍼미션은 /etc/skel 생성 후 퍼미션 지정 해주면 지정해준 퍼미션으로 생성됨
# user 추가시 해당 유저 디렉토리 퍼미션은 /etc/login.defs 에 UMASK 076 을 추가해 퍼미션이701 로 생성 된다.
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/
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 디렉토리 생성 (webalizer 실행 결과 출력 디렉토리)
mkdir /home/$1/public_html/weblogs
# Mysql 에 새로운 DB 를 추가합니다.
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비밀번호 mysql < /tmp/mysql_dbusersetup_temp
rm -f /tmp/mysql_dbusersetup_temp
/usr/bin/mysqladmin -u root -p비밀번호 reload
# quota 설정
# edquota -u $1
# 아파치 가상호스트 추가 (httpd.conf 마지막에 include conf/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 300M 1d" >> /etc/httpd/conf/vhost.conf
echo " ErrorLog /var/weblog/$1-error_log" >> /etc/httpd/conf/vhost.conf
echo " CustomLog /var/weblog/$1-access_log common env=!not_log" >> /etc/httpd/conf/vhost.conf
echo "</VirtualHost>" >> /etc/httpd/conf/vhost.conf
# 사용자별 Webalizer 설정
echo "LogFile /var/weblog/$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/webalizer.cron
# 안내페이지( index.html) 생성
# /etc/skel/public_html 에 index.html 과 gif 파일 위치
# index.html 파일에 아래 안내페이지 내용 전의 tag 는 이미 포함되어 있음
# 아래 내용은 그 다음부터 추가되는 것임
echo " <td><p><b>웹사모의 가족이 되신 것을 진심으로 축하드립니다!!<br>" >> /home/$1/public_html/index.html
echo " 현재($dateis $timeis) $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 / SSH : ssh.websamo.net <br>" >> /home/$1/public_html/index.html
if [ "$zero" = "y" ] || [ "$zero" = "Y" ]; then
echo " 제로보드 설치지원 : <a href=http://$1.websamo.net/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) 주세요.</b>" >> /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 " >> /tmp/contents
echo " SSH주소 : ssh.websamo.net " >> /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
인터넷 이곳 저곳 뒤지면서 얻은 자료들을 짜깁기 해서 만들었네요.
#File Name : adduser
#!/bin/bash
# Usage : ./adduser id password e-mail
# 2002/11/3 최초 작성
# 2002/11/4 제로보드 설치지원 추가,
# 메일보내기 지원, 안내페이지 변경, 사용자 체크
# 날짜와 시간 얻기
dateis=$(date -I)
timeis=$(date | awk '{print $4}')
# 사용자 계정 생성 ( 사용자 체크 )
# public_html 은 /etc/skel/ 에 위치해서 계정생성시 자동으로 생성
# public_html 퍼미션은 /etc/skel 생성 후 퍼미션 지정 해주면 지정해준 퍼미션으로 생성됨
# user 추가시 해당 유저 디렉토리 퍼미션은 /etc/login.defs 에 UMASK 076 을 추가해 퍼미션이701 로 생성 된다.
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/
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 디렉토리 생성 (webalizer 실행 결과 출력 디렉토리)
mkdir /home/$1/public_html/weblogs
# Mysql 에 새로운 DB 를 추가합니다.
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비밀번호 mysql < /tmp/mysql_dbusersetup_temp
rm -f /tmp/mysql_dbusersetup_temp
/usr/bin/mysqladmin -u root -p비밀번호 reload
# quota 설정
# edquota -u $1
# 아파치 가상호스트 추가 (httpd.conf 마지막에 include conf/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 300M 1d" >> /etc/httpd/conf/vhost.conf
echo " ErrorLog /var/weblog/$1-error_log" >> /etc/httpd/conf/vhost.conf
echo " CustomLog /var/weblog/$1-access_log common env=!not_log" >> /etc/httpd/conf/vhost.conf
echo "</VirtualHost>" >> /etc/httpd/conf/vhost.conf
# 사용자별 Webalizer 설정
echo "LogFile /var/weblog/$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/webalizer.cron
# 안내페이지( index.html) 생성
# /etc/skel/public_html 에 index.html 과 gif 파일 위치
# index.html 파일에 아래 안내페이지 내용 전의 tag 는 이미 포함되어 있음
# 아래 내용은 그 다음부터 추가되는 것임
echo " <td><p><b>웹사모의 가족이 되신 것을 진심으로 축하드립니다!!<br>" >> /home/$1/public_html/index.html
echo " 현재($dateis $timeis) $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 / SSH : ssh.websamo.net <br>" >> /home/$1/public_html/index.html
if [ "$zero" = "y" ] || [ "$zero" = "Y" ]; then
echo " 제로보드 설치지원 : <a href=http://$1.websamo.net/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) 주세요.</b>" >> /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 " >> /tmp/contents
echo " SSH주소 : ssh.websamo.net " >> /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
제목 | 글쓴이 | 날짜 |
---|---|---|
사용자 자동 등록 쉘스크립트 [1] | 편리 | 2002.11.05 |
윈xp pro 를 net 서버로 바꾸기 [7] | 정회철 | 2002.11.13 |
ab 를 이용한 간편한 아파치 성능 측정 [2] | 정인배 | 2002.11.15 |
리눅스 서버를 구축해 보자! #1 [11] | 꼬토 | 2002.11.21 |
리눅스 서버를 구축해 보자! #2 [5] | 꼬토 | 2002.11.22 |
Apache + PHP + Mysql확실한 연동 및 리눅스 재설치 정보 [2] | 최종우 | 2002.11.26 |
[FreeBSD] bind를 몰아낼 djbdns 설치하기 [5] | DeX™ | 2002.11.26 |
[FreeBSD] qmail+mysql+vpopmail+qmailadmin 설치 [1] | DeX™ | 2002.11.26 |
[계정삭제 스크립터] 편리님이 만드신 계정추가랑 연동됩니다. [4] | 김동현 | 2002.12.04 |
계정 등록 스크립트 [8] | 편리 | 2002.12.05 |
레드햇(redhat)리눅스에서 rpm 관리 명령어 | 정인배 | 2002.12.09 |
리눅스 rpm 명령어 활용(1): MRTG 설치 | 정인배 | 2002.12.14 |
초보자도 쉽게 이해할수있도록 주석을 자세히 달아놓은 APM 메뉴얼 (3 of 3) [2] | Dopesoul | 2002.12.21 |
무료 호스팅 서버 만들기 -3부 | 장동민 | 2003.01.04 |
보안쉘 ssh | Dopesoul | 2003.01.13 |
[Lindox] cron - 기본편[수정] [6] | NeSTY♨™ | 2003.01.18 |
htaccss를 활용하자! 1탄 에러페이지 만들기 [10] | [쿨럭]블루엔젤 | 2003.01.23 |
[JSP설치2탄]mod_jk를 이용한 Apache와 Tomcat의 연동[for Windows98/NT/2000] [1] | 한희진 | 2003.02.06 |
레드햇 8.0 에 젠드옵티마이져(Zend optimizer) 2.1.0 설치-왕초보용 [7] | 정인배 | 2003.02.13 |
php-accelerator <- zend보다 빠른 phpcache [6] | 푸른하늘 | 2003.02.20 |
저 쥬스에요>_<// 반갑습니다♡