Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/11/2015, à 13:31

adgenodux

[RESOLU] VSFTPD - Autoriser écriture dans répertoires hors HOME

Bonjour à tous,

Je sollicite votre expertise pour un problème que je ne parviens pas à résoudre.

Je souhaite pouvoir autoriser l'édition via ftp par un utilisateur local non virtuel, de fichiers distants se trouvant en dehors du répertoire personnel, comme le www par ex.

Ainsi j'ai créé un "dossier de travail" dans le répertoire utilisateur et ajouté une entrée dans le fstab pour donner un accès au répertoire utile :

/var/www/html   /home/utilisateur/dossier_travail   none    bind    0       0

Alors, sur un serveur de test (ubuntu 12.04 lts), cela semble fonctionner, les modifs se font, malgré avoir le message d'erreur suivant dans la console de mon client FTP (filezilla):

set attrs for /chemin/vers/fichier/modifié: permission denied

A quoi ce message correspond-il si les modifs semblent bien réalisées (vérifié en console après la modif) ?

Ensuite, j'essaye de reproduire la même chose sur mon serveur principal (ubuntu 14.04 lts) mais cela ne fonctionne pas, malgré avoir notamment désactivé le chroot comme sur le serveur de test et j'obtiens le message d'erreur suivant:

/chemin/vers/fichier/a/modifier: open for write: permission denied
12:28:12	Erreur :	Échec du transfert du fichier

Ce qui m'étonne aussi, c'est que certains fichiers semblent manquant quand je compare l'install du serveur test avec celle du serveur principal.

Ainsi je n'ai pas de fichier /var/log/vsftpd.log ni de fichier vsftpd dans /etc/init.d alors que vsftpd est bien actif.

A toutes fins utiles, les réglages principaux de mon vsftpd.conf:

listen=YES
listen_address= xx.xx.xx.xx
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022

anon_other_write_enable=NO
anon_mkdir_write_enable=NO

xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
dual_log_enable=YES

chroot_local_user=NO
chroot_list_enable=NO
secure_chroot_dir=/var/run/vsftpd

ssl_enable=YES
force_local_data_ssl=NO
force_local_logins_ssl=NO
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES

rsa_cert_file=/chemin/vers/fichier.cert.pem
rsa_private_key_file=/chemin/vers/fichier.key.pem
allow_anon_ssl=NO

pam_service_name=vsftpd
virtual_use_local_privs=YES
guest_enable=YES
user_sub_token=$USER
guest_username=user_ftp
user_config_dir=/etc/vsftpd/vsftpd_user_conf
local_root=/home/$USER

... et accessoirement, le filtre Fail2ban pour vsftpd:

# Fail2Ban filter for vsftp
#
[INCLUDES]

before = common.conf

[Definition]

__pam_re=\(?pam_unix(?:\(\S+\))?\)?:?
_daemon =  vsftpd

failregex = ^%(__prefix_line)s%(__pam_re)s\s+authentication failure; logname=\S* uid=\S* euid=\S* tty=(ftp)? ruser=\S* rhost=<HOST>(?:\s+user=.*)?\s*$
             ^ \[pid \d+\] \[.+\] FAIL LOGIN: Client "<HOST>"\s*$

ignoreregex =

# Author: Cyril Jaquier

J'avoue être un peu perdu et ne plus bien savoir où regarder hmm

Auriez-vous des suggestions pour résoudre ça ?

Merci de votre aide...

Adgenodux

Dernière modification par adgenodux (Le 10/11/2015, à 17:47)

Hors ligne

#2 Le 07/11/2015, à 14:18

mikael8349

Re : [RESOLU] VSFTPD - Autoriser écriture dans répertoires hors HOME

Hi !

Je n'ai pas eu le temps de regardé réelement ton problème, mais juste un conseil perso que je mets en application par habitude :
    - enlève la partie "sécurité". Une fois que tout est ok, mets en place la sécurité. Donc désactive iptables et fail2ban dans un premier temps

Sinon, vspftp tourne t-il ?

ps aux | grep vsftpd

Hors ligne

#3 Le 07/11/2015, à 15:21

adgenodux

Re : [RESOLU] VSFTPD - Autoriser écriture dans répertoires hors HOME

Bonjour Mikael8349 et merci de ta réponse.

Alors j'ai essayé en désactivant iptables et fail2ban mais cela ne change rien, le problème semble venir d'ailleurs.

A l'évidence vsftpd fonctionne puisque je peux de toutes façons me connecter et travailler dans ma session donc à la question j'obtiens tout logiquement :

~$ sudo ps aux | grep vsftpd
[sudo] password for adgenodux:
adgenod+ 27229  0.0  0.0  11716   908 pts/0    S+   14:53   0:00 grep --color=auto vsftpd
root     32102  0.0  0.0  23536  1856 ?        Ss   12:27   0:00 vsftpd: LISTENER

Merci de t'intéresser au problème wink

Hors ligne

#4 Le 10/11/2015, à 17:46

adgenodux

Re : [RESOLU] VSFTPD - Autoriser écriture dans répertoires hors HOME

Bon, j'ai trouvé l'origine du problème, encore une bêtise, une question de droits hmm

En fait, comme mon apache est passé en version 2.4, le répertoire de travail www est désormais /var/www/html où j'avais bien transféré mon site mais sans effacer l'ancien contenu pour "le cas où" et moi gros malin, j'ai travaillé sur les droits du répertoire /var/www et non /var/www/html sad

Du coup après une toute petite correction, ça marche désormais très bien, on peut maintenant éditer en dehors du chroot mais je m'étonne tout de même d'avoir un message d'erreur dans ma console Filezilla, malgré que les modifications se font très bien. Le message est le suivant, si quelqu'un a une idée:

set attrs for /home/mon_user/chemin/vers/fichier_a_modifier: permission denied

Sinon la procédure que j'ai suivi pour donner un accès au répertoire WWW se trouve ICI.

J'ai donc créé un utilisateur local que j'ai ajouté au groupe www-data et j'ai modifié les permissions du répertoire /var/www/html pour autoriser le groupe www-data à écrire dedans.

That's it !

Hors ligne