« Discussion:ProFTPD MySQL et quotas » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
 
(16 versions intermédiaires par 7 utilisateurs non affichées)
Ligne 29 : Ligne 29 :


MadHatter.
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 ...

Dernière version du 12 décembre 2023 à 16:04

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:

  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 !

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 ...