Outils pour utilisateurs

Outils du site


linux:pureftp (lu 42070 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
linux:pureftp [04-04-2013 22:06]
127.0.0.1 modification externe
linux:pureftp [12-02-2014 10:35] (Version actuelle)
edmc73
Ligne 136: Ligne 136:
 On voit que la ligne de commande a complètement changé, notre fichier de base de données utilisateur est bien le fichier /etc/pure-ftpd/pureftpd.pdb On voit que la ligne de commande a complètement changé, notre fichier de base de données utilisateur est bien le fichier /etc/pure-ftpd/pureftpd.pdb
  
 +===== Exécuter un script à la réception d'un fichier =====
  
 +  vi /etc/default/pure-ftpd-common
 +
 +Renseigner la variable **UPLOADSCRIPT**
 +<code bash>
 +# UPLOADSCRIPT: if this is set and the daemon is run in standalone mode,
 +# pure-uploadscript will also be run to spawn the program given below
 +# for handling uploads. see /usr/share/doc/pure-ftpd/README.gz or
 +# pure-uploadscript(8)
 +
 +# example: UPLOADSCRIPT=/usr/local/sbin/uploadhandler.pl
 +UPLOADSCRIPT=/root/script/test.bash
 +</code>
 +
 +Les variables suivantes sont accessible dans votre script bash
 +  * $1 est le chemin et le nom du fichier.
 +  * UPLOAD_SIZE The size of the file, in bytes.  
 +  * UPLOAD_PERMS The permissions, as an octal integer.
 +  * UPLOAD_UID The numerical UID of the owner.  
 +  * UPLOAD_GID The numerical GID of the owner.  
 +  * UPLOAD_USER The login of the owner.  
 +  * UPLOAD_GROUP The group name the files belongs to.  
 +  * UPLOAD_VUSER The full user name, or the virtual user name (127 chars max) .
 +
 +Du coup vous pouvez exécuter une commande en fonction de l'utilisateur
 +<code bash>
 +if [ "$UPLOAD_USER" = "toto" ]; then
 +        echo -e `date "+%Y-%m-%d %H:%M:%S"` >> /var/log/toto.log
 +        echo -e "Contenu du fichier envoyé : "`cat $1` | mail -s "L'utilisateur toto a envoyé un fichier" Votre_email@toto.com
 +fi
 +</code>
 +
 +ou en fonction du fichier
 +
 +<code bash>
 +if [ "$1" = "/home/ftp/fichier.txt" ]; then
 +        echo -e `date "+%Y-%m-%d %H:%M:%S"` >> /var/log/toto.log
 +        echo -e "Contenu du fichier envoyé : "`cat $1` | mail -s "Un fichier fichier.txt a été envoyé" Votre_email@toto.com
 +fi
 +</code>
linux/pureftp.txt · Dernière modification: 12-02-2014 10:35 de edmc73