Discussion:ProFTPD MySQL et quotas
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
2-3 Retouches pour le faire fonctionner
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 !
Ajout d'un utilisateur
Lors de l'ajout d'un user ne pas mettre shell à /bin/false mais /bin/bash car sinon il est impossible de se connecter.
INSERT INTO `ftpuser` ( `id`, `userid`, `passwd`, `uid`, `gid`, `homedir`, `shell`, `count`, `accessed` , `modified`, `LoginAllowed` ) VALUES (, 'test', ENCRYPT('pwd'), '5500', '5500', '/home/ftp/test', '/bin/bash', , , , 'true' );
Voila si ça peut vous aider.
Bd avec le module
ce tuto est top merci, j'ai juste recontré un pb ou le serveur me rejetais immédiatement et cela venais d'un confit dans les modules chargés (voir fichiers /etc/proftpd/modules.conf) ou le module #LoadModule mod_sql_postgres.c n'était pas mis en commentaire et donc proftpd tentait une connexion sur une base type postgres au lieu de mysql. Pb detecté dans les logs via : tail -f /var/log/proftpd/mysql.log message
Home dir
Petit problème, les utilisateurs peuvent ce balader dans tout le serveur, il ne sont pas bloqué dans leur homedir ...