#!/bin/bash # ftp ftp_root="/home/ftp" ftp_host="ftp.host.com" ftp_port="21" ftp_user=$1 ftp_passwd=`pwgen -y 12 1` ftp_owner="www-data:www-data" ftp_perm="555" ftp_uid="33" ftp_gid="33" # mysql mysql_user="PUREUSER" mysql_db_name="DBNAME" mysql_table="TABLE" mysql_passwd="PASSWORD" # lftp lftp_bin="/usr/bin/lftp" function usage { echo "Usage:" echo "$0 ftp_user" } if [[ $1 == "" ]]; then usage exit 1 fi if [ ! -d "$ftp_root/$ftp_user" ]; then echo "create user home dir $ftp_root/$ftp_user" mkdir $ftp_root/$ftp_user chown $ftp_owner $ftp_root/$ftp_user chmod $ftp_perm $ftp_root/$ftp_user echo "create user $ftp_user" mysql -u"$mysql_user" -p"$mysql_passwd" <<EOF INSERT INTO $mysql_db_name.$mysql_table (User, status, Password, Uid, Gid, Dir, ULBandwidth, DLBandwidth, comment, ipaccess, QuotaSize, QuotaFiles) VALUES ('$ftp_user', '1', MD5('$ftp_passwd'), '$ftp_uid', '$ftp_gid', '$ftp_root/$ftp_user', '0', '0', '', '*', '0', '0'); EOF echo "## FTP USER ##" echo "host: $ftp_host" echo "port: $ftp_port" echo "login: $ftp_user" echo "password: $ftp_passwd" echo "## TEST ACCOUNT ##" if [ -f "$lftp_bin" ]; then $lftp_bin -u $ftp_user,$ftp_passwd localhost -e "ls;quit" else echo "lftp ($lftp_bin) not found" fi echo "done." else echo "user $ftp_user already exists" fi
Tag Archives: mysql
LINUX comment cree un serveur ftp avec pureftpd et mysql
Ce we pendant mes moments perdu et dieu sait qu’ils ne sont pas nombreux :p
J’ai installé un serveur pureftpd avec le support de mysql, gestion des quota et gestion de bande passante.
Donc voila un tuto très bien fais, en gros si on a des bases suffisante, c’est terminer en 5 minutes.
This document describes how to install a PureFTPd server that uses virtual users from a MySQL database instead of real system users. This is much more performant and allows to have thousands of ftp users on a single machine. In addition to that I will show the use of quota and upload/download bandwidth limits with this setup. Passwords will be stored encrypted as MD5 strings in the database.
For the administration of the MySQL database you can use web based tools like phpMyAdmin which will also be installed in this howto. phpMyAdmin is a comfortable graphical interface which means you do not have to mess around with the command line.
source
Pour le TLS , sécurité tout ça, tout ça :p
1 2 3 | mkdir -p /etc/ssl/private openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem chmod 600 /etc/ssl/private/*.pem |
Et on restart pureftpd avec l’option
–tls=1 : Connexions de client normaux ou sécurisé autorisé.
–tls=2 : Seul les clients sécurisés peuvent se connecter.
MySQL Les différents moteurs de stockage
Un article tres interressant sur MySQL et ses differents moteurs de stockage.
MySQL, contrairement aux autres SGBD, a la possibilité d’utiliser plusieurs moteurs de stockage dans une seule et même base de données. Cette faculté constitue un des points forts de MySQL. Cet article a pour but de vous montrer ce qui se cache derrière ces différents moteurs et comment les exploiter au mieux.
MySQL Script bash pour dumper une db
Voila un ptit script pratique pour dumper une db et la compresser ^^
mysqldump.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #!/bin/bash tar_args='-czf' tmpdir='/tmp' mysqldump_args='--user=root --password=password -c' mysqldump $mysqldump_args $1 > $tmpdir/$1.sql if test ! -d $2 then echo 'output dir does not exists'; fi if test -f $tmpdir/$1.sql then tar $tar_args $2/$1.tar.gz $tmpdir/$1.sql && rm $tmpdir/$1.sql fi |
Utilisation
/root/mysqldump.sh wordpress /home/hio/
Explication
Premier argument = nom de la db
Deuxieme argument = Repertoire qui contiendra la db dans un tar.gz
On trouvera donc un wordpress.tar.gz dans /home/hio/
hio@phpoulpe:/home/hio# ls -l /home/hio/wordpress.tar.gz -rw-r--r-- 1 hio hio 78423 mar 3 22:05 /home/hio/wordpress.tar.gz
Simple, pratique et efficace ^^