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 31/07/2012, à 20:47

Filador

[Résolu] Problème VSFTPD (Ubuntu server 12.04) - Utilisateurs virtuels

Bonsoir à tous,

Je rencontre un problème assez gênant depuis l'installation de VSFTPD sur la nouvelle distribution de mon serveur. En effet, en tant qu'utilisateur virtuel, il m'est impossible d'écrire/effacer le contenu actuel et même d'en ajouter. J'ai bien évidemment suivi à la lettre le tutoriel présent sur votre site:

http://doc.ubuntu-fr.org/vsftpd (Partie 4: Configurer VSFTPD pour utiliser des utilisateurs virtuels)

J'ai fait toutes les modifications demandées dans le /etc/vsftpd.conf, /etc/pam.d/vsftpd et dans le dossier /etc/vsftpd/vsftpd_user_conf/.

Malheureusement, dès la connexion au FTP (j'arrive à afficher l'arborescence du répertoire ciblé), je ne peux pas faire les actions citées ci-dessus.

Voici les lignes retournées par FileZilla :

Commande :	MKD Nouveau dossier
Réponse :	550 Create directory operation failed.
Commande :	MKD /Nouveau dossier
Réponse :	550 Create directory operation failed.
Commande :	STOR index.php
Réponse :	553 Could not create file.
Erreur :	Erreur critique lors du transfert du fichier
Erreur :	Erreur critique lors du transfert du fichier
Commande :	DELE test.php
Réponse :	550 Delete operation failed.

J'ai bien évidemment essayé plusieurs techniques, comme changer les droits en 777 (je sais, ce n'est pas très propre), mais il me retourne l'erreur :

Réponse :	500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Erreur :	Erreur critique
Erreur :	Impossible d'établir une connexion au serveur

J'ai la même erreur quand j'assigne le répertoire à l'utilisateur ftp, initialement créé.

Voici le /etc/vsftpd.conf :

# Ceci configure vsFTPd en mode "standalone"
listen=YES

# On désactive les connexions anonymes
# et on active les non-anonymes(c'est le cas des utilisateurs virtuels):
anonymous_enable=NO
local_enable=YES

# Pour des raisons de sécurité on interdit toute action d'écriture:
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO

# 'guest_enable' est très important: cela active les utilisateurs virtuels!
# 'guest_username' fait correspondre tous les utilisateurs virtuels à
# l'utilisateur 'ftp' que nous avons défini plus haut, et au home
# correspondant: '/home/ftp/'.
guest_enable=YES
guest_username=ftp

# On veut que les utilisateurs virtuels restent chez eux: '/home/ftp/'
chroot_local_user=YES

# On défini le nombre maximum de sessions à 200(les nouveaux clients recevront
# un message du genre: "erreur: serveur occupé").
# On défini le nombre maximum de sessions par IP à 4
max_clients=200
max_per_ip=4

####################################
# Debian customization             #
####################################
# Some of vsftpd's settings don't fit the Debian filesystem layout by
# default.  These settings are more Debian-friendly.
#
# This option should be the name of a directory which is empty.  Also, the
# directory should not be writable by the ftp user. This directory is used
# as a secure chroot() jail at times vsftpd does not require filesystem
# access.
secure_chroot_dir=/var/run/vsftpd
#
# This string is the name of the PAM service vsftpd will use.
pam_service_name=vsftpd
#
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/certs/vsftpd.pem


## Activer la configuration per-user
user_config_dir=/etc/vsftpd/vsftpd_user_conf

et le fichier de l'utilisateur se trouvant dans /etc/vsftpd/vsftpd_user_conf/ :

## l'utilisateur est enfermé dans un dossier déterminé
local_root=/home/usertest/www

## on ne souhaite pas de lecture seule (Lecture seulement)
anon_world_readable_only=NO

## droit d'écriture(upload)
write_enable=YES
anon_upload_enable=YES

## créer des dossiers
anon_mkdir_write_enable=YES

## droit de renommer, supprimer...
anon_other_write_enable=YES

## pour gérer le chmod de l'utilisateur
## activer l'option
virtual_use_local_privs=YES
## définir l'option local_umask
local_umask=022
anon_umask=022

Dossier dans lequel est stocké le contenu du ftp : /home/usertest/www, il est en chmod 755 avec comme utilisateur root et comme groupe root.

Je vous souhaite une bonne soirée, et en espérant qu'une personne pourra éclairer ma lanterne. ;-)

Cordialement,
Filador

Dernière modification par Filador (Le 01/08/2012, à 00:46)

Hors ligne

#2 Le 31/07/2012, à 22:26

rescue

Re : [Résolu] Problème VSFTPD (Ubuntu server 12.04) - Utilisateurs virtuels

Bonsoir,

Avant de savoir si avec des users virtuel ça ne fonctionne pas.
Essai avec l'user qui est connu sur ton serveur.
Si tu n'arrives pas alors je repasserai dans le coin smile .
@+

Hors ligne

#3 Le 31/07/2012, à 22:40

Kooothor

Re : [Résolu] Problème VSFTPD (Ubuntu server 12.04) - Utilisateurs virtuels

Salut,

Vérifie également les droits des dossiers parents (/home et /home/usertest) !
Ce logiciel est pensé «sécurité», cela ne m'étonnerait pas que comme SSHD, il fasse son difficile sur les droits smile

@+
~ktr

Hors ligne

#4 Le 31/07/2012, à 23:13

Filador

Re : [Résolu] Problème VSFTPD (Ubuntu server 12.04) - Utilisateurs virtuels

rescue a écrit :

Bonsoir,

Avant de savoir si avec des users virtuel ça ne fonctionne pas.
Essai avec l'user qui est connu sur ton serveur.
Si tu n'arrives pas alors je repasserai dans le coin smile .
@+

Salut,

Je vais tester cela. Je te tiens au courant !

Kooothor a écrit :

Salut,

Vérifie également les droits des dossiers parents (/home et /home/usertest) !
Ce logiciel est pensé «sécurité», cela ne m'étonnerait pas que comme SSHD, il fasse son difficile sur les droits smile

@+
~ktr

Salut,

Comme dit dans mon premier post, j'ai déjà testé de changer les droits des fichiers/dossiers et du propriétaire ainsi que le groupe, cela est sans effet.

Hors ligne

#5 Le 31/07/2012, à 23:23

Kooothor

Re : [Résolu] Problème VSFTPD (Ubuntu server 12.04) - Utilisateurs virtuels

Ouais mais faire chmod 777 c'est pas  la solution ici.
Et je te parle des dossiers parents !

Hors ligne

#6 Le 31/07/2012, à 23:26

Filador

Re : [Résolu] Problème VSFTPD (Ubuntu server 12.04) - Utilisateurs virtuels

Kooothor a écrit :

Ouais mais faire chmod 777 c'est pas  la solution ici.
Et je te parle des dossiers parents !

Re,

Explique toi plus en détails s'il te plaît, j'utilise la commandes chmod avec l'option [-R] à la base du dossier usertest/ dans /home. Je n'ai peut être pas bien compris ce que tu voulais me dire...

Hors ligne

#7 Le 31/07/2012, à 23:45

Filador

Re : [Résolu] Problème VSFTPD (Ubuntu server 12.04) - Utilisateurs virtuels

Re-Bonsoir,

Rien ne change même avec les utilisateurs locaux (présents sur le serveur), je suis toujours dans l'incapacité de créer/écraser/modifier des dossiers ou fichiers, avec la même erreur de commande que me donne FileZilla :

Réponse :	250 Directory successfully changed.
Commande :	MKD Nouveau dossier
Réponse :	550 Create directory operation failed.
Commande :	MKD /www/Nouveau dossier
Réponse :	550 Create directory operation failed.

Il y aurait-il un problème au niveau des droits ? sachant que même dans ce cas présent, si j'applique la commande "chown usertest:usertest usertest/ -R", j'obtiens toujours cette erreur :

Réponse :	500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Erreur :	Erreur critique
Erreur :	Impossible d'établir une connexion au serveur

Les dossiers et fichiers sont sous le chmod 755.

Merci pour votre aide, en attente d'autres solutions. ;-)

Hors ligne

#8 Le 01/08/2012, à 00:46

Filador

Re : [Résolu] Problème VSFTPD (Ubuntu server 12.04) - Utilisateurs virtuels

Problème réglé après être revenu sur Ubuntu server 10.04.

Il semble bien avoir un problème avec la version de VSFTPD sur Ubuntu 12.04.

@+

Hors ligne

#9 Le 13/11/2012, à 12:12

francoisotho

Re : [Résolu] Problème VSFTPD (Ubuntu server 12.04) - Utilisateurs virtuels

Bonjour,

Voici une méthode pour conserver ubuntu 12.04 LTS et faire fonctionner vsftpd. Autrement dit : comment installer un vsftpd qui fonctionne sous ubuntu 12.04 :-)

1. installer la package vsftpd

$ sudo apt-get install vsftpd

si par bonheur, le package est supérieur à 2.3.5, vous n'avez pas besoin de suivre la procédure décrite ci-dessous !
si apt-get installe la version 2.3.5, vous pouvez poursuivre ... :-)

2. télécharger la version 3.0.2 de vsftpd

$ mkdir repinstallation
$ cd repinstallation
$ wget https://security.appspot.com/downloads/vsftpd-3.0.2.tar.gz

3. décompresser le fichier téléchargé

$ tar zxvf vsftpd-3.0.2.tar.gz

4. adapter le fichier tunables.c pour "coller" le plus possible au package fourni par les devs de la distribution ubuntu 12.04
Adaptation des noms de répertoires, avec 'vi' ou 'nano'.

$ cd vsftpd-3.0.2/
$ cp tunables.c tunables.c.ori
$ vi tunables.c

remplacer  la ligne 257 :

install_str_setting("/usr/share/empty", &tunable_secure_chroot_dir);

devient :

install_str_setting("/var/run/vsftpd/empty", &tunable_secure_chroot_dir);

remplacer la ligne 268 :

install_str_setting("ftp", &tunable_pam_service_name);

devient

install_str_setting("vsftpd", &tunable_pam_service_name);

5. compiler le nouveau vsftpd

$ make

Si vous n'avez pas les packages packages "make" et "gcc" vous ne pourrez pas compiler.
Pour installer 'make' et 'gcc' :

$ sudo apt-get install make
$ sudo apt-get install gcc

6. installer le nouveau vsftpd

Attention ! je ne me suis pas préoccupé du manuel...

$ sudo service vsftpd stop
$ sudo cp vsftpd /usr/sbin
$ sudo service vsftpd start

La version 3.0.2 est en place et fonctionne bien avec le vsftpd.conf.

Cette méthode peut convenir le temps que les développeurs d'ubuntu intègrent la version 3.xxx dans ubuntu 12.04 LTS (ce qui ne saurait tarder à mon avis).

N'oubliez pas d'ajouter dans votre vsftpd.conf, la ligne :

allow_writeable_chroot=YES

Dernière modification par francoisotho (Le 13/11/2012, à 12:19)

Hors ligne

#10 Le 20/11/2012, à 13:23

speculoos

Re : [Résolu] Problème VSFTPD (Ubuntu server 12.04) - Utilisateurs virtuels

Bonjour,

J'ai le même problème que toi, ai effectué la même procédure mais je n'arrive plus à me connecter avec un utilisateur virtuel après être passé en 3.0.2
Une idée ?

Hors ligne

#11 Le 22/11/2012, à 21:01

francoisotho

Re : [Résolu] Problème VSFTPD (Ubuntu server 12.04) - Utilisateurs virtuels

Bonjour,
Je ne maitrise pas les utilisateurs virtuels.
J'ai lu cette page :
http://www.mon-code.net/article/23/inst … an-squeeze

Tu gères tes utilisateurs dans quel fichier ?
A priori le répertoire généralement utilisé est /etc/vsftpd ...

Mais regarde ce qui est dit dans la page en question , il faut aussi adapter /etc/pam.d/vsftpd pour que la base des utilisateurs soit prise en compte ...

Notamment en ajoutant ces deux lignes au fichier :

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/login

Ca t'aide un peu ?

F.Otho

Hors ligne

#12 Le 30/04/2013, à 20:09

robert leleu

Re : [Résolu] Problème VSFTPD (Ubuntu server 12.04) - Utilisateurs virtuels

À noter que l'on dispose, maintenant, de
http://launchpadlibrarian.net/129101165 … _amd64.deb
qui m'a permis d'installer la version 3.0.2 sur mon Mint14

Hors ligne

#13 Le 11/05/2013, à 17:46

gargalou

Re : [Résolu] Problème VSFTPD (Ubuntu server 12.04) - Utilisateurs virtuels

Bonjour a tous
Je suis devenu chauve tongue à force de faire tuto sur tuto en m'arrachant les cheveux pour faire marcher ce P....N de serveur de M....E, enfin ça doit plutôt être moi la M...E big_smile ftp auquel je ne peux toujours pas me connecter.
je fais d'abord un test local avec un autre pc, le reste sera qu'une question d'ouverture de port.
Je vois partout c'est simple ça tourne en 5 minutes, ça fait 5 jours et toujours rien big_smile
j'en aurai besoin avec accès en écriture pour récupérer des fichiers d'une antenne vers le siège d'une entreprise, donc avec accès en écriture et avec un chroot du seul utilisateur du pc.
Sur le PC client impossible de me logguer avec filezilla, la connection commence bien avec le messages d'accueil mais erreur 530 loggin incorrect et pourtant je tape le bon celui de l'utilisateur du pc et son mot de passe, l'erreur doit etre en amon tongue
voici mon fichier vsftpd.conf smile
# Example config file /etc/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
#
#
# Run standalone?  vsftpd can run either from an inetd or as a standalone
# daemon started from an initscript.
listen=YES
#
# Run standalone with IPv6?
# Like the listen parameter, except vsftpd will listen on an IPv6 socket
# instead of an IPv4 one. This parameter and the listen parameter are mutually
# exclusive.
#listen_ipv6=YES
#
# Allow anonymous FTP? (Disabled by default)
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
#local_umask=022
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
#anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
# If enabled, vsftpd will display directory listings with the time
# in  your  local  time  zone.  The default is to display GMT. The
# times returned by the MDTM FTP command are also affected by this
# option.
use_localtime=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
#
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#chown_uploads=YES
#chown_username=whoever
#
# You may override where the log file goes if you like. The default is shown
# below.
#xferlog_file=/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog format.
# Note that the default log file location is /var/log/xferlog in this case.
#xferlog_std_format=YES
#
# You may change the default value for timing out an idle session.
#idle_session_timeout=600
#
# You may change the default value for timing out a data connection.
#data_connection_timeout=120
#
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
#nopriv_user=ftpsecure
#
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
#async_abor_enable=YES
#
# By default the server will pretend to allow ASCII mode but in fact ignore
# the request. Turn on the below options to have the server actually do ASCII
# mangling on files when in ASCII mode.
# Beware that on some FTP servers, ASCII support allows a denial of service
# attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
# predicted this attack and has always been safe, reporting the size of the
# raw file.
# ASCII mangling is a horrible feature of the protocol.
#ascii_upload_enable=YES
#ascii_download_enable=YES
#
# You may fully customise the login banner string:
#ftpd_banner=Welcome to blah FTP service.
#
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd.banned_emails
#
# You may restrict local users to their home directories.  See the FAQ for
# the possible risks in this before using chroot_local_user or
# chroot_list_enable below.
#chroot_local_user=YES
#
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
# (Warning! chroot'ing can be very dangerous. If using chroot, make sure that
# the user does not have write access to the top level directory within the
# chroot)
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd.chroot_list
#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
#ls_recurse_enable=YES
#
# Customization
ftpd_banner=/etc/ma société
# Some of vsftpd's settings don't fit the filesystem layout by
# default.
#
# This option should be the name of a directory which is empty.  Also, the
# directory should not be writable by the ftp user. This directory is used
# as a secure chroot() jail at times vsftpd does not require filesystem
# access.
secure_chroot_dir=/var/run/vsftpd/empty
#
# This string is the name of the PAM service vsftpd will use.
pam_service_name=vsftpd
#
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
# This option specifies the location of the RSA key to use for SSL
# encrypted connections.
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

je précise que mon fichier vsftpd.chroot_list est bien présent dans /etc dans lequel il n'y a qu'une seule ligne juste le nom de l'utilisateur.
Ma version ubuntu
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 13.04
Release:        13.04
Codename:       raring
Si quelqu'un aurrait l'amabilité de me sortir la poutre que j'ai dans le pieds, MILLES MERCIS PAR AVANCE!!!!!

Hors ligne

#14 Le 09/08/2013, à 17:05

dubis22

Re : [Résolu] Problème VSFTPD (Ubuntu server 12.04) - Utilisateurs virtuels

Bonjour,

J'ai trouvé ceci sur le blog qui a fonctionné pour moi :

Define option passwd_chroot_enable=yes in configuration file and change in /etc/passwd file user home directory from «/home/user» to «/home/./user» (w/o quotes).
In this way vsftpd chrooting to /home directory.

Je traduit :

mettre l'option passwd_chroot_enable=yes dans le fichier /etc/vsftpd.conf et modifier la definition des repertoire de home des utilisatuer dans le  fichier  /etc/passwd  comem ceci : «/home/user» to «/home/./user» (w/o quotes).
Dans ce cas vsftpd va faire chroot sur la racine des utilisateurs.

Il y a 3 solutions dont une pour la compilation de la dernière version vsftpd mais la numéro 2 a fonctionner pour moi...

Voici donc mon fichier vsftpd.conf :

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
idle_session_timeout=300
data_connection_timeout=120
connect_timeout=60
accept_timetout=60
async_abor_enable=NO
ascii_upload_enable=NO
ascii_download_enable=NO
ftpd_banner=Welcome to ServerBot FTP service.
chroot_local_user=YES
chroot_list_enable=NO
passwd_chroot_enable=yes

Pour ma part j'ai fais un bind sur un repertoire home d'un utilisateur fictif afin que la connxion ne soit pas à la racine.

sudo useradd pour_otus
sudo chmod -R 755 /home/pour_tous
sudo chown pour_tous:pour_tous -R /home/pour_tous

sudo mkdir /home/user/pour_tous
sudo chown user:user /home/user/pour_tous
sudo chmod 755 /home/user/pour_tous
sudo nano /etc/fstab

puis  ajoutez cette ligne :

/home/pour_tous /home/user/pour_tous auto bind,defaults 0 0

puis faites un mount /home/pour_tous

Dernière modification par dubis22 (Le 09/08/2013, à 17:05)


Pensez à passer vos sujets en [Résolu] lorsque ceux-ci le sont.

Hors ligne

#15 Le 16/09/2013, à 15:46

mybofy

Re : [Résolu] Problème VSFTPD (Ubuntu server 12.04) - Utilisateurs virtuels

Bonjour
ubuntu 12.04.3
J'ai suivi la procédure jusqu'au make.
Résultat :
gcc -o vsftpd main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o tunables.o ftpdataio.o secbuf.o ls.o postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o banner.o filestr.o parseconf.o secutil.o ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o seccompsandbox.o -Wl,-s -fPIE -pie -Wl,-z,relro -Wl,-z,now `./vsf_findlibs.sh`
sysdeputil.o: In function `vsf_sysdep_check_auth':
sysdeputil.c:(.text+0x109): undefined reference to `crypt'
sysdeputil.c:(.text+0x13a): undefined reference to `crypt'
collect2: ld returned 1 exit status
make: *** [vsftpd] Error 1
Merci

Hors ligne

#16 Le 28/11/2013, à 16:17

francoisotho

Re : [Résolu] Problème VSFTPD (Ubuntu server 12.04) - Utilisateurs virtuels

@mybofy

un petit :

sudo apt-get install mcrypt

peut-être ?

Hors ligne