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

번호 제목 날짜 조회 수
81 vmware with centos 7 secret 2019.08.23 0
80 php-fpm tcp to socket secret 2020.01.25 0
79 net::ERR_CONNECTION_REFUSED secret 2021.10.11 0
78 my.cnf secret 2019.04.11 1
77 To download large files with rsync command. 2023.05.04 21
76 The best configuration of php7.4-fpm / 8GB 2023.05.04 23
75 The best configuration of php7.4-fpm / 1.5GB 2023.05.04 29
74 windows hardware encrypt ssd 2024.01.23 236
73 php 에서 비동기 처리하는 방법 2023.06.22 313
72 gearman 은 무엇인가? 2023.06.21 318
71 apache2 AllowOverride config 2023.05.23 326
70 mysqldump from remote db to my local server. 2023.05.04 421
69 yum install php 7.1 [6] 2018.10.10 687
68 mysql 백업 (shell script) file 2018.10.14 697
67 munin 설치 2018.10.13 787
66 yum install mariadb [2] 2018.10.10 1143
65 웹 백업 (쉘 스크립트) file 2018.10.14 1194
64 certbot apache multiple domain 2019.04.10 1416
63 yum install php-apcu 2019.03.12 1542
62 yum install latest redis file 2019.03.27 1682