1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
|
#!/bin/bash
# Vérification du nombre d'argument
if [ $# -ne 3 ]; then
echo "Erreur, le script a besoin d'arguments multiple"
exit;
else
echo "...";
fi;
# ---------------------------------------------------------------------------- #
# Récupération des arguments
action=$1
nom=$2
pass=$3
# ---------------------------------------------------------------------------- #
# Définition des divers variables
rep="/home/$nom/"
pass_mysql_root="monpassmysqlroot"
# ---------------------------------------------------------------------------- #
# Ajouter un utilisateur
vps_user_add () (
echo "Creation du compte en cours..."
if test -d /home/$nom ; then
echo "L'utilisateur existe deja"
exit;
else
# ------ WEB
# On crée les dossiers et on fixe les droits
mkdir /home/$nom
mkdir /home/$nom/public_html
echo " <h1>Nouvel espace web crée</h1> " > /home/$nom/public_html/index.html
mkdir /home/$nom/logs
mkdir /home/$nom/game
echo "" > /home/$nom/logs/access.log
echo "" > /home/$nom/logs/error.log
# On ajoute l'user au groupe www-data
useradd -g www-data -m utilisateur
# On chmod le répertoire et sous répertoire
chmod -R 755 /home/$nom
echo "Espace d'hebergement web cree ..."
# On crée sont virtualhost
echo "<VirtualHost *>
ServerAdmin postmaster@$nom.com
ServerName localhost
ServerAlias $nom.com *.$nom.com
DocumentRoot /home/$nom/public_html/
<Directory /home/$nom/public_html/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
ErrorLog /home/$nom/logs/error.log
LogLevel warn
CustomLog /home/$nom/logs/access.log combined
ServerSignature Off
</VirtualHost>
" >> /etc/apache2/sites-available/$nom.com
ln -s /etc/apache2/sites-available/$nom.com /etc/apache2/sites-enabled/$nom.com
# ------- VSFTPD
# on ajoute l'utilisateur et son mdp
rm -Rf /etc/vsftpd/login.db
echo "$nom
$pass" >> /etc/vsftpd/login.txt
# On mets a jour la base berkeley
db3_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/login.db
# On ajoute les paramètre pour notre nouveau site
echo "anon_world_readable_only=NO
local_root=/home/$nom
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES" > /etc/vsftpd/vsftpd_user_conf/$nom
echo "Compte FTP crée ..."
# ------- MYSQL
# On crée une base de données où l'utilisateur est tout-puissant
mysql -u root -p$pass_mysql_root -e "CREATE DATABASE IF NOT EXISTS $nom;"
echo "Base de donnees cree ..."
mysql -u root -p$pass_mysql_root -e "CREATE USER '$nom'@'localhost' IDENTIFIED BY '$pass';"
echo "Utilisateur MySQL cree ..."
mysql -u root -p$pass_mysql_root -e "GRANT USAGE ON *.* TO '$nom'@'localhost' IDENTIFIED BY '$pass' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;"
echo "Definition des limite ..."
mysql -u root -p$pass_mysql_root -e "GRANT ALL PRIVILEGES ON $nom.* TO '$nom'@'localhost';"
echo "Privilege associés ..."
# --------- Serveur games
# On copie le répertoire game par défaut
cp -R /home/serveur/CZ/base_war_cz/* /home/$nom/game/
echo "Le jeux est installer ...."
# Faut maintenant configurer le serveur en question
# Et créer le script restart....
# -------- Reste le serveur TS
mkdir /home/tsclients/$nom
cp -R /home/ts/tss2_rc2/* /home/tsclients/$nom/
echo "Le ts est installer ..."
echo "La creation a ete effectuee"
exit;
fi
)
# ---------------------------------------------------------------------------- #
# Supprimer un utilisateur
vps_user_del () (
# On vérifie qu'il existe
if test -d /home/$nom ; then
# ------- MYSQL
# On supprime son compte et sa base de donnée MySQL
mysql -u root -p$pass_mysql_root -e "DROP USER $nom@'localhost';"
echo "Utilisateur MySQL $nom ... : Supprimé"
mysql -u root -p$pass_mysql_root -e "DROP DATABASE IF EXISTS $nom;"
echo "Base de données $nom ... : Supprimée"
# ------- VSFTPD
# On supprime son fichier de configuration vsFTPd
rm -f /etc/vsftpd/vsftpd_user_conf/$nom
echo "Compte FTP ... : Supprimé"
# ------- WEB
# On supprime son dossier
rm -rf /home/$nom
rm -f /etc/apache2/sites-available/$nom.com
rm -f /etc/apache2/sites-enabled/$nom.com
echo "Fichier et dossier de $nom ... : Supprimé"
# ------- TS
# On supprime son répertoire ts
rm -rf /home/tsclients/$nom
echo "Serveur TS supprimer"
else
echo "L'utilisateur n'existe pas"
fi
)
case $action in
add)
vps_user_add
;;
del)
vps_user_del
;;
*)
cat << EOI
usage: $0 [add|del]
EOI
esac |
Partager