Discussion:ProFTPD MySQL et quotas

De Lea Linux
Aller à la navigation Aller à la recherche

Commentaires de : SylvainBolay

posté le 2005-09-30 11:37:53

Bonjour,

Lors de la création du nouvel utilisateur (ex: proftpd) une erreur s'est glissée dans la requête SQL.

Il faut remplacer "localhost" par "*" après la requète GRANT USAGE ON proftpd.localhost. En effet, l'astérisque permet de séléctionner toute les tables de la base de donnée proftpd.

Voici ci-dessous la version corrigée:

GRANT USAGE ON proftpd.* TO 'proftpd'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

P.S. Merci pour ce super article

Salutations / Sylvain Bolay / 30.09.2005

Commentaire de MadHatter - 06/12/2005

La gestion des quotas ne fonctionne pas. (en tout cas pour moi. J'ai pourtant scrupuleusement respecté le didactitiel).

Par ailleurs, il semblerait que lorsqu'elle fonctionne, lors d'un envoi de fichiers sur le serveur, si l'envoi est hors quota, il est quand meme envoyé mais le fichier est ensuite supprimé automatiquement du serveur (cf : http://www.khoosys.net/single.htm?ipg=848).

Il semblerait également, qu'aucun message n'avertisse l'utilisateur du dépassement de quota (quel qu'il soit). Ce qui est un peu génant, surtout dans le cas d'une suppression automatique d'un fichier transféré, cité précédemment.

Je vais continuer à prospecter et tester de mon coté, mais si quelqu'un a trouvé une solution, il est le bienvenu... ;)

MadHatter.

en cas de problemes...

Ce tuto est vraiment impeccable !

Pour info j'ai rencontré ces problemes:

ftp> open 127.0.0.1 Connected to 127.0.0.1. 421 Service not available, remote server has closed connection ftp>

possibilite 1: lancez proftpd en mode debeug: > proftpd -n (et quand on tente de se connnecter à partir d'une autre console) error: unable to stat() /var/log/proftpd: No such file or directory creez alors le repertoire /var/log/proftpd.

possibilite 2: tail -f /var/log/proftpd/mysql.log message: 'Access denied for user 'proftpd'@'localhost' (using password: YES)' J'avais pas fait attention mais les droits pour l'utilisateur proftpd sur la base n'étaient pas passés.

pour les quotas je vais regarder ca...

micatod

Problème de connection 421

Hello,

Je trouve également que ce tuto très bien fait. Bravo pour le temps consacré à le créer!

J'ai également été confronté au problème suivant :

421 Service not available, remote server has closed connection

En réalité, après quelques tests, ça provenait du fait que l'utilisateur créé (proftpd) n'avait aucun droit en lecture sur la base proftpd. Donc sans ce droit, pas de lecture et donc pas de vérification d'identité.

Voici les 3 commandes magiques permettant de donner un accès en lecture à l'utilisateur proftpd :

REVOKE ALL PRIVILEGES ON * . * FROM 'proftpd'@'localhost';

Permet de supprimer les privilèges précédents. Sait on jamais...

REVOKE GRANT OPTION ON * . * FROM 'proftpd'@ 'localhost';

On supprime ici les GRANT.

GRANT SELECT , INSERT, UPDATE ON * . * TO 'proftpd'@ 'localhost' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

On autorise le "select", "insert" et "update". On autorise "update" car si j'ai bien tout compris dans le tutoriel, l'utilisateur proftpd met à jour le nombre de fois qu'un utilisateur se connecte sur le ftp. Il en est de même pour le "insert".


En espérant avoir apporté un petite pierre à l'édifice :)

WaZaR

Impossible de faire fonctionner...

Même après le suivi de ce tuto, ça ne fonctionne pas.

Feb 12 16:34:02 mod_sql/4.11[6657]: connection 'default' count is now 1 Feb 12 16:34:02 mod_sql/4.11[6657]: exiting mysql cmd_close Feb 12 16:34:02 mod_sql/4.11[6657]: exiting mysql cmd_select Feb 12 16:34:02 mod_sql/4.11[6657]: unrecoverable backend error Feb 12 16:34:02 mod_sql/4.11[6657]: error: '1142' Feb 12 16:34:02 mod_sql/4.11[6657]: message: 'SELECT command denied to user 'proftpd'@'localhost' for table 'ftpuser Feb 12 16:34:02 mod_sql/4.11[6657]: entering mysql cmd_exit

Bien le tuto ! J'ai juste ramé sur 2 points avec ma Fedora: (Pour l'installation sur Fedora : Yum install proftpd proftp-mysql)

La requête pour donner les droits sur la BD à proftpd c'est :

GRANT SELECT , INSERT , UPDATE , DELETE ON proftpd . * TO proftpd@localhostIDENTIFIED BY 'password'


Pour que le fichier proftpd.conf donné dans le tuto soit reconnu j'ai ajouté les lignes suivantes dans le fichier :

<IfModule mod_dso.c>

  LoadModule mod_sql.c
  LoadModule mod_sql_mysql.c
  LoadModule  mod_quotatab.c
  LoadModule  mod_quotatab_sql.c

</IfModule>


Ensuite j'ai modifié la partie Authentification par:

  1. Mod MySQL
  2. =========
  3. Les mots de passe sont crypté ds la base avec la fct ENCRYPT (MySQL)

SQLBackend mysql SQLAuthTypes Crypt SQLAuthenticate on

Merci pour le tuto !