Bonjour à tous,
Voila je me lance vers vous et ce pour modifier des fichiers qui date du fedora 4, c'est pour vous dire que cela fais longtemps. Bon je n'aime pas trop les serveur dédié avec un cpanel style webmin, directadmin, plesk, etc et donc j'avais ces script a ma possesion et ce grace a un membre de la famille fedora "titax".
je voudrais que c'est fichier soit améliorer dans le sens que je voudrais créé une adresse mail "postmaster" par default a chaque compte créé.
voila pour la creation d'un compte
#!/bin/bash
#########################################################################################
## Script repris de http://www.tatane.com/index.php/script-de-creation-de-comptes-web ##
## modifie pour s'adapter a FEDORA CORE 4 ##
## TitaX ##
## titax@rezium.net ##
## blog.titaxium.org ##
## www.titaxium.com ##
## www.fedora-france.org ##
## ------------- ##
## Permet de: ##
## >> Creer un compte user avec sa home directory /home/$user ##
## Site accessible en www (www.domaine.com pointe vers /home/$user/www ##
## Alias illimites (ex: linux.domaine.com pointe vers /home/u$ser/linux ##
## >> Creation d'une base MySql ##
#########################################################################################
#quelques variables
log="/var/log/creation/creation-$login-`date +%d-%m-%Y`.log"
touch $log
group="users"
# petit nettoyage d'ecran
clear
# seul root peux executer ce script
if test `id -u` != "0"; then
echo "il faut etre root pour executer ce script"
else
echo "################################## Creation d'utilisateur"
# on recupere les parametres du compte
echo -n "Entrez le compte a creer : ";
read login;
echo -n "Entrez son mot de passe : ";
read password;
passmysql=$password
echo -n "Entrez le nom de domaine (sans \"www\", par exemple domaine.com) : ";
read domaine;
# on demande confirmation de ces parametres
echo "
Domaine : $domaine
Compte : $login
Passwd : $password
" >> $log
echo -n "Est- ce correct ? (o/[n]) "
read ans
if [ _$ans != _o -a _$ans != _O ]
then
echo "la creation du compte a ete annulee">> $log
fi
# creation du compte utilisateur sauf si existe deja
/usr/sbin/useradd $login -p `perl -e "print crypt('$password',pwet)"` -g $group -d /home/$login -m -s /bin/bash
if [ $? -ne 0 ]
then
echo "L'utilisateur $login existe deja!" >> $log
fi
echo -e " + Utilisateur \"$login\" [ \E[32;40m\033[1mOK\033[0m ]"
# creation et droits sur les repertoires
/bin/mkdir /home/$login/logs /home/$login/www /home/$login/cgi-bin
echo -e " + Creation repertoires [ \E[32;40m\033[1mOK\033[0m ]"
# modifications des droits sur les dossiers
chown -R $login.$group /home/$login/
echo -e " + Modification des droits [ \E[32;40m\033[1mOK\033[0m ]"
# creation du virtual host (inclus dans httpd.conf)
echo "
<VirtualHost *:80>
ServerName $domaine
DocumentRoot /home/$login/www/
ErrorLog /home/$login/logs/error.log
CustomLog /home/$login/logs/access.log combined
ScriptAlias /cgi-bin/ /home/$login/cgi-bin/
<Directory /home/$login/www/>
AllowOverride All
Options -Indexes +ExecCGI
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>
" > /etc/httpd/conf/vhosts/$login.conf
echo -e " + VirtualHost Apache [ \E[32;40m\033[1mOK\033[0m ]"
echo "################################## Termine "
# creation de la base de donnee mysql
echo -n "Faut-il installer une base de donnee mySQL ? (o/[n]) "
read ans
if [ _$ans = _o -o _$ans = _O ]
then
echo "################################## Creation de la base MySql "
echo -n "Entrez le password root mysql :";
read passroot;
# creation de la base
/usr/bin/mysqladmin -u root -p$passroot create $login
echo -e "Base MySQL \"$login\" [ \E[32;40m\033[1mOK\033[0m ]"
# creation du compte + db + droits
/usr/bin/mysql -u root --password=$passroot mysql <<END_COMMANDS
# GRANT ALL PRIVILEGES ON $login.* TO "$login"@"localhost" IDENTIFIED BY '$passmysql';
GRANT ALL PRIVILEGES ON \`$login\`.* TO "$login"@"localhost" IDENTIFIED BY '$passmysql';
FLUSH PRIVILEGES;
END_COMMANDS
# redemarrage de la base
/usr/bin/mysqladmin -u root -p$passroot reload
echo -e "User MySQL \"$login\" [ \E[32;40m\033[1mOK\033[0m ]"
else
echo "Choix: Base non creee">> $log
fi
echo "################################## Termine "
echo "Creation du nouvel utilisateur \"$login\" terminee."
service httpd restart
echo "relance de Apache"
fi
# fin du script
et voila pour la suppression du compte
#!/bin/bash
#################################################
## Script repris de http://www.ruas-blog.com/ ##
## modifie pour s'adapter a FEDORA CORE 4 ##
## TitaX ##
## titax@rezium.net ##
## blog.titaxium.org ##
## www.titaxium.com ##
## www.fedora-france.org ##
## ------------- ##
#################################################
#variables
#votre password mysql
passmysql="votre_pass"
# petit nettoyage d'écran
clear
# seul root peux exécuter ce script
if test `id -u` != "0"; then
echo "Vous devez etre root pour executer ce script, désolé..."
else
echo "################################## Suppression d'utilisateur"
# recuperation des parametres
echo -n "Entrez le compte à supprimer : ";
read login;
# --- Suppression du user ---
/usr/sbin/userdel $login
echo -e " + Suppression de l'utilisateur : $login [ \E[32;40m\033[1mOK\033[0m ]"
echo -n "Voulez vous supprimer le repertoire dans /home? (o/[n]) ";
read home
if [ _$home != _o -a _$home != _O ]
then
echo "le repertoire dans /home ne sera pas effacé"
else
# --- Suppression du repertoire /var/www/nom_du_compte ---
rm -rf /home/$login/
echo -e " + Suppression du repertoire /www [ \E[32;40m\033[1mOK\033[0m ]"
fi
echo -n "Voulez vous supprimer la configuration vhost (o/[n]) ";
read www
if [ _$www != _o -a _$www != _O ]
then
echo "la configuration vhost ne sera pas effacée"
else
# --- Suppression du virtual host---
rm -f /etc/httpd/conf/vhosts/$login.conf
echo -e " + Suppression du VirtualHost : $login [ \E[32;40m\033[1mOK\033[0m ]"
fi
echo -n "Voulez vous supprimer la base de donnée (o/[n]) ";
read base
if [ _$base != _o -a _$base != _O ]
then
echo "la base de donnée ne sera pas effacée"
else
# --- Suppression de la base de donnée et de l'utilisateur---
mysql -u root --password=$passmysql mysql <<END_COMMANDS
REVOKE ALL ON *.* FROM $login@localhost;
REVOKE ALL ON $login.* FROM $login@localhost;
DELETE FROM mysql.user WHERE user='$login';
DROP DATABASE IF EXISTS $login;
FLUSH PRIVILEGES;
END_COMMANDS
/usr/bin/mysqladmin -u root -p"$passmysql" reload
fi
#On recharge la configuration de apache
service httpd restart
#c'est fini !!!!
echo -e " + Suppression totale de $login [ \E[32;40m\033[1mOK\033[0m ]"
fi
Merci d'avance pour votre soutiens et vos reponses .