« Discussion:ProFTPD MySQL et quotas » : différence entre les versions
Ligne 88 : | Ligne 88 : | ||
WaZaR | WaZaR | ||
Bien le tuto ! | Bien le tuto ! |
Version du 19 mai 2007 à 14:48
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
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:
- Mod MySQL
- =========
- Les mots de passe sont crypté ds la base avec la fct ENCRYPT (MySQL)
SQLBackend mysql SQLAuthTypes Crypt SQLAuthenticate on
Merci pour le tuto !