Bonjour la liste,
après de nombreuses recherches et tests je rencontre des péripéties avec un
serveur FTP.
Je vais tout d'abord resituer le contexte :
- J'ai besoin d'un serveur FTP qui puisse gérer entre 150 et 200
utilisateurs de manière simple.
- Le cahier des charges impose un serveur FTP sous centOS 7 avec gestion
des quotas, file screening et un accès possible avec un compte anonyme en
écriture seule.
La solution choisie est donc la suivante :
- Un serveur proftpd avec gestion des utilisateurs et des quotas avec un
base de donnée Mysql (les utilisateurs sont des des utilisateurs virtuels
rattachés à un utilisateur système (ftpuser avec l'UID 2001) et un groupe
système (ftpgroup avec le GUID 2001).
- La racine de mon serveur ftp est /srv/ftp
- Pour des raison de simplicité, le SElinux est en mode permissive
Dans mon cas, lorsque que je crée un utilisateur sur la base de donnée, je
le lie à l'utilisateur système ftpuser et au groupe ftpgroup.
Quand j'upload des un fichier sur le FTP et que je créer un dossier, les
éléments se arrivent avec les droits suivants :
[root@vm-ftp1 timote]# ls -lah --color
total 584K
drwx------. 3 ftpuser ftpgroup 40 7 juil. 10:09 .
drwxr-xr-x. 3 ftpuser ftpgroup 20 5 juil. 16:33 ..
-rw-r--r--. 1 ftpuser ftpgroup 582K 7 juil. 10:09 Hydrangeas.jpg
drwxr-xr-x. 2 ftpuser ftpgroup 6 7 juil. 10:09 test
Et voici les droits vu sous filezilla :
[image: Images intégrées 1]
Le problème c'est que quand je souhaite re-télecharger un fichier ou ouvrir
un dossier, mon client FTP me met une erreur :
*Réponse : 550 Hydrangeas.jpg: Aucun fichier ou dossier de ce typeErreur
: Erreur critique lors du transfert du fichier*
et quand j'essaye d'ouvrir un répertoire, il me met l'erreur suivante :
*Commande : CWD testRéponse : 550 test: Aucun fichier ou dossier de
ce typeErreur : Impossible de récupérer le contenu du dossier*
De plus je peut supprimer les fichier mais pas les répertoires.
Pour vérifier ce qui cloche j'ai donc mis mon serveur FTP en mode DEBUG
mais les logs ne sont pas très parlants ;
*dispatching CMD command 'CWD test' to mod_coredispatching POST_CMD_ERR
command 'CWD test' to mod_sqldispatching LOG_CMD_ERR command 'CWD test' to
mod_sqldispatching LOG_CMD_ERR command 'CWD test' to mod_log*
Cette erreur indiquant un 'erreur' au niveau du module mysql j'ai activé le
mode verbose de mariadb et aucune erreur n'est affichée, les requêtes
passent toutes sans problème.
J'obtient la même erreur en mettant les fichiers en chmod 0777 (de toute
façon ce n'est pas une très bonne solution).
Je tiens aussi à préciser que j'ai testé ma conf sous Debian et que cela
fonctionne parfaitement (mais ne rempli pas le cahier des charges)
Voici la configuration de mon vhost dans le fichier /etc/proftpd.conf
<Global>
User ftpuser
Group ftpgroup
Umask 022
AllowOverwrite on
<Limit ALL /srv/ftp>
AllowAll
</Limit>
</Global>
(j'ai également essayer de jouer sur le Umask en mettant 000 mais rien n'y
fais.)
Je m'en remet à votre expertise parce que la je suis bloqué et à cours
d'idée.
Bien cordialement,
--
Timoté Brusson
INFO SUPPLÉMENTAIRES :
ProFTPD Version: 1.3.5e (maint)
Scoreboard Version: 01040003
Built: Wed May 3 2017 14:58:47 UTC
Loaded modules:
mod_quotatab_sql.c
mod_quotatab/1.3.1
mod_sql_mysql/4.0.8
mod_sql/4.3
mod_vroot/0.9.2
mod_ctrls_admin/0.9.7
mod_lang/1.0
mod_ctrls/0.9.5
mod_cap/1.1
mod_memcache/0.1
mod_tls/2.6
mod_auth_pam/1.2
mod_readme/1.0
mod_ident/1.0
mod_dso/0.5
mod_facts/0.4
mod_delay/0.7
mod_site.c
mod_log.c
mod_ls.c
mod_auth.c
mod_auth_file/1.0
mod_auth_unix.c
mod_rlimit/1.0
mod_xfer.c
mod_core.c