unix 계정 자동 생성

2012.04.15 10:08

엘카 조회 수:10727

참고 문서  

MySQL 작업은 포함하지 않았습니다.

# vi /bin/useradd.sh

#!/bin/bash

### 계정 홈 디렉토리 ###
home="/home" # 앞 슬래쉬 / 뒤는 생략
### httpd.conf 경로 ###
vhost="/usr/local/apache/conf/extra/httpd-vhosts.conf"
### apachectl ###
apachectl="/usr/local/apache/bin/apachectl"
### public_html  ###
www=public_html
### 이메일 ###
email="[email protected]"

hr="=====================================================\n"

### 선택 ###
#echo -e "$hr\n [1] 계정을 생성합니다.
# [2] VirtualHost에 추가합니다."


### 계정 입력 ###
echo -e "${hr}계정 명을 입력해주세요."
read id
echo -e "${hr}비밀번호를 입력해주세요."
read pw


### 입력한 정보가 맞습니까? ###
echo -e "${hr}계정 이름: $id
비밀번호: $pw
 입력하신 정보가 맞습니까? [y/N]:"
read check
if [ $check != "y" ] && [ $check != "Y" ];then
 exit
fi
adduser $id
echo "$pw" | passwd --stdin "$id"
echo -e "${hr}계정이 추가되었습니다."


### domain, public_html ###
echo -e "${hr}1. $home/$id/$www 디렉토리를 생성합니다.
2. 웹 디렉토리는 701 권한이 필요하며 이를 위해 /home/$id/ 디렉토리를 701 권한으로 변경합니다.
 실행하시겠습니까? [y/N]:"
read check
if [ $check != "y" ] && [ $check != "Y" ];then
 exit
fi
echo -e "${hr}$home/$id 디렉토리 권한을 변경합니다."
chmod 701 $home/$id
echo -e "${hr}$home/$id/$www 디렉토리를 생성합니다."
mkdir $home/$id/$www
chown $id $home/$id/$www
chgrp $id $home/$id/$www
chmod 755 $home/$id/$www


### VirtualHost ###
echo -e "${hr}$vhost 파일에 VirtualHost 설정을 추가합니다.
Apache를 재시작합니다.
 도메인을 입력해주세요 [elkha.kr] 취소 [n]:"
read domain
if [ $domain = "n" ] || [ $domain = "N" ] || [ $domain = "" ];then
 exit
fi
echo -e "${hr}
### $id ###
<VirtualHost *>
 ServerAdmin $email
 DocumentRoot $home/$id/$www
 ServerName $domain
 ServerAlias *.$domain
 php_admin_value doc_root $home/$id
 php_admin_value user_dir $home/$id/$www
</VirtualHost>

 입력하신 정보가 맞습니까? [y/N]:"
read check
if [ $check != "y" ] && [ $check != "Y" ];then
 exit
fi

echo "

### $id ###
<VirtualHost *>
 ServerAdmin $email
 DocumentRoot $home/$id/$www
 ServerName $domain
 ServerAlias *.$domain
 php_admin_value doc_root $home/$id
 php_admin_value user_dir $home/$id/$www
</VirtualHost>" >> $vhost

$apachectl restart


echo -e "${hr}$vhost 파일을 수정하였습니다."
# chmod -x /bin/useradd.sh
# chmod 755 /bin/useradd.sh
# /bin/useradd.sh

hosting.jpg

번호 제목 날짜 조회 수
61 Table 태그 file 2010.05.23 4443
60 php + ssh2 file 2010.06.05 20199
59 javascript 대기시간 - setTimeout file 2010.06.12 13144
58 ftp file 2010.07.23 15443
57 네이버 드래그, 마우스 우클릭 방지 해제 file 2010.07.25 3621
56 브라우저, 문서 높이 구하기 2010.08.17 3947
55 <table cellspacing="0"> 2010.08.19 5486
54 마인크래프트 다운로드 v1.4 2011.04.01 3371
53 접속하기전에.. 2011.04.01 2342
52 마인크래프트 조합법 1 file 2011.04.01 38374
51 마인크래프트 조합 2 file 2011.04.01 14473
50 리눅스 계정 생성/변경 [67] 2011.04.02 29129
49 ssh 로그인 제한 2011.04.05 16470
48 php 생성자 / 소멸자 2011.05.21 7569
47 php __get($name), __set($name, $value) 2011.05.21 7494
46 CentOS 6.2 다운로드 / 설치 [1] file 2012.04.15 17029
45 CentOS 6 - MySQL 5.5 설치 [1] file 2012.04.15 21725
44 CentOS 6 - Apache 2.4.1 컴파일 / 보안 설정 [1] 2012.04.15 30240
43 CentOS 6 - PHP 5.3.10 컴파일 / 보안 [1] 2012.04.15 14286
42 CentOS 6 PHP 5.3 - APC(Alternative PHP Cache) 3.1.9 2012.04.15 11369