unix 계정 자동 생성

2012.04.15 10:08

엘카 조회 수:10888

참고 문서  

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