Vsftpd upload impossible

Bonjour

Je suis en trains de configurer un serveur vsftpd

Tout fonctionne correctement sauf que je ne peux pas faire d upload de fichier j ai systématiquement le message d erreur

"553 Could not create file"

J ai vérifié le fichier vsftpd.conf, je suis bien en write_enable=yes

Je fais un put dans le repertoire home de l utilisateur et les droits sont en 755

Merci de m aider a parametre mon serveur ftp pour pour voir faire un put de fichier

13 réponses

  1. Modérateur
    Bon j'ai (enfin je crois) résolutionné le blème de l'upload dans le répertoire "/home".

    Ben j'étais donc en "standalone" niveau daemon (directive "listen=YES") et j'ai eu la bonne idée de passer par "xinetd.d" histoire de voir (et surtout pour mettre en place un serveur virtuel), et du coup ben je me retrouve avec le droit d'uploader dans la racine de mon /home ;-)))

    C'était donc pas une histoire de fichier de conf et encore moins de droits au niveau de l'user mais apparemment une sécurité au niveau du daemon qui lance le serveur.
    J'ai lu quelque part qu'il était recommandé de lancer le serveur avec le métadaemon "xinetd.d"... donc c'est chose faite.
    1. Webmaster
      Bien vu! :)

      Je ne vous avait pas oublié, mais j'ai pas eu le temps :(
      Effectivement, chez mio, c'est xinetd qui gere tout ça :)
    2. Modérateur
      @asevereAlors si chez tio c'est xinetd, ben du coup ça va mio ;-DDDDD
    3. Webmaster
      @jipicyGrr, et moi qui n'ai pas édité pensant que ça passerait inaperçu :(
    4. @jipicyBonjour et merci a tous de vos réponses

      Je viens de tenter le démarage de vsftpd par xinetd, je rajoute le fichier /etc/xinetd.d

      service vsftpd
      {
      socket_type = stream
      wait = no
      user = root
      server = /usr/sbin/vsftpd
      server_args = /etc/vsftpd/vsftpd.conf
      log_on_success += DURATION USERID
      log_on_failure += USERID
      nice = 10
      disable = no
      }

      je fais un /etc/initd.d/xinetd restart et j ai le message

      Aug 8 09:22:32 matrix xinetd[2705]: Port not specified and can't find service: vsftpd with getservbyname

      Je crois que je joue de malchance

      Merci de votre aide
  2. Modérateur
    Salut,

    Tu as tout simplement oublié (je suppose, mais je viens de faire l'expérience) de mettre la directive "listen=" à "NO" :
    listen=NO

    Je viens de la remettre à "YES" et une fois le daemon "xinetd" relancé, j'obtiens le même message que toi :
    500 OOPS: could not bind listening IPv4 socket
    Donc ton fichier doit contenir ceci :
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_std_format=YES
    ftpd_banner=Welcome to my FTP service.
    chroot_list_enable=YES
    pam_service_name=vsftpd
    userlist_enable=YES
    listen=NO
    tcp_wrappers=YES
    
    ;-))
    1. Modérateur
      Salut,

      Comme il a été déjà dit à maintes reprises, nous n'avons pas encore des dons divinatoires et de ce fait si tu nous affiches pas ton fichier de conf (vsftpd.conf) nous ne pourrons pas t'aider, merci donc de nous afficher le résultat de :
      egrep -v '^(#|$)' vsftpd.conf
      ;-))
      1. Bonjour

        Voici le contenu de mon fichier vsftpd.conf

        local_enable=YES
        write_enable=YES
        local_umask=022
        dirmessage_enable=YES
        xferlog_enable=YES
        connect_from_port_20=YES
        xferlog_std_format=YES
        chroot_list_enable=no
        pam_service_name=vsftpd
        userlist_enable=NO
        listen=YES
        tcp_wrappers=YES

        Merci de ton aide
    2. Modérateur
      Salut,

      Désolé pour la réponse tardive, mais je me bornais à chercher la solution dans la configuration du fichier et il fallait lorgner plutôt du côté des permissions sur le répertoire de l'user.

      Je fais un put dans le repertoire home de l utilisateur et les droits sont en 755

      Chez moi aussi et ça passe pas ! Par contre dans ce même repertoire j'ai des sous répertoires qui eux ont des droits "775" (pour le groupe aussi) et là ça passe.
      Dont suffit de mettre les perms adéquates (ben même pas car ça marche pô :-(, même avec des droits à 755 sur le /home de l'user, ça passe pas non plus) où tout simplement créer un sous-répertoire avec les bons droits, ce qui serait plus sûr ;-))
      1. Bonjour et merci poiur ta réponse

        Tu viens exactement de reproduire ce qui ce passe sur ma machine. Je ne comprend pas pourquoi on ne peut pas faire un put de fichier sur le répertoire racine de l utilisateur alors que cela fonctionne dans les sous repertoire.

        J administre des systemes unix et cela ne m étais jamais arrivé.

        Si quelqu un peut me donner la solution pour palier a ce soucis cela me retirerai une grosse épine du pied.

        Merci de votre aide
        1. Bonjour,

          Les réponses ne se bouscule pas, je sais que beaucoup de monde est en vacances, mais je trouve anormal de ne pas pouvoir ecrire dans le repertoire racine de mes comptes en ftp alors que cela est possible sur tout les autres systeme UNIX.

          Merci de me dire comment vous avez résolu ce soucis ou si c est une spec de vsftpd

          Bonne journée a tous

          Vincent
          1. Modérateur
            Re-

            Bon j'ai passé une bonne partie de la journée d'hier à triturer la bestiole dans tous les sens pour en arriver toujours à la même conclusion !!!
            Pas d'upload depuis le /home !!!???

            Après maintes recherches sur la toile, où d'ailleurs les exemples se ressemblent, j'ai trouvé un début d'explication qui semblerait plausible.

            Le "vs" de "vsFTPd", c'est pour "Very Secure". Donc en partant de là qui dit sécurité dit "cadenassage" de tout.
            Le fait de "chrooter" le user à la connexion, fait donc de son "/home" la nouvelle "racine" de son environnement et par là même interdirait toutes écritures.
            Une autre piste serait aussi le "shell" de connexion dans le fichier "/etc/passwrd", mais là j'ai pas tout pigé et j'ai pas expérimenté...

            Au départ le serveur "vsFTPd" d'après ce que j'en ai compris est surtout orienté "sécurité" et surtout comme serveur "anonyme" emprisonnant les connexions dans un répertoire "pub" (/var/pub) avec la possibilité de permettre l'upload ou non.
            Il autorise aussi les connexions locales et notamment des utilisateurs présents dans le "/etc/passwrd", mais ce n'est pas là sa vocation principale.

            J'ai pas expérimenté les utilisateurs virtuels, mais il est possible qu'avec cette option l'upload marche dans le "/home".

            Si je venais à trouver quelques choses, je te tiendrai au courrant ;-)
            1. Bonjour

              Et merci de ton aide. J en arrive au même conclusion que toi.

              Je travaille sur la fedora core 4 et je cherche un serveur ftpd au lieu du vsftpd, sait tu si il existe ?

              A+
              1. Modérateur
                Re-

                Il existe bien "ProFTPD" : http://www.proftpd.org/
                il n'est pas présent dans les paquetages de Fedora, c'est d'ailleurs étrange qu'il ne soit proposé qu'un seul serveur FTP dans la liste des paquets.

                Il et un peu plus ardu à configuré et la liste des directives est assez conséquente : http://www.proftpd.org/docs/directives/linked/by-name.html

                PS. Ôcazou t'aurais z'oublié : http://www.commentcamarche.net/forum/affich-1709565#1
                1. Webmaster
                  Coucou la foule.

                  Y'a un truc que je pige pas bien là :)
                  Ici:
                  /home => 755
                  /home/asevere => 700
                  Je peux bien copier un fichier dans /home/asevere si je me log avec l'utilisateur asevere, c'est bien ça que vous cherchez à faire ?

                  Le probléme ne vient pas des droit, a partir du moment où, ici, asevere est propriétaire de /home/asevere et que le propriétaire à tout les droits dessus (rwx).
                  Tout ça sur Fedora Core #3, avec le vsftpd d'origine.

                  Une politique différente au niveau de la gestion des /home des utilisateurs peut-etre ? <= (edit: suggestion idiote)
                  1. Modérateur
                    Salut Adrien,

                    Ben tout le problème vient de là, sur le FC4 et un fichier de conf tel que cité plus haut on peut pas écrire dans la racine de "/home", uniquement dans les sous répertoires !!!

                    vsftpd.conf de "vincent883" :
                    local_enable=YES
                    write_enable=YES
                    local_umask=022
                    dirmessage_enable=YES
                    xferlog_enable=YES
                    connect_from_port_20=YES
                    xferlog_std_format=YES
                    chroot_list_enable=no
                    pam_service_name=vsftpd
                    userlist_enable=NO
                    listen=YES
                    tcp_wrappers=YES

                    le mien :
                    anonymous_enable=NO
                    local_enable=YES
                    write_enable=YES
                    local_umask=022
                    dirmessage_enable=YES
                    xferlog_enable=YES
                    connect_from_port_20=YES
                    xferlog_std_format=YES
                    ftpd_banner=Welcome to my FTP service.
                    chroot_list_enable=YES
                    pam_service_name=vsftpd
                    userlist_enable=YES
                    listen=YES
                    tcp_wrappers=YES
                    ftp> put citations.txt
                    local: citations.txt remote: citations.txt
                    200 PORT command successful. Consider using PASV.
                    553 Could not create file.
                    ftp> cd kqemu
                    250 Directory successfully changed.
                    ftp> put citations.txt
                    local: citations.txt remote: citations.txt
                    200 PORT command successful. Consider using PASV.
                    150 Ok to send data.
                    226 File receive OK.
                    2858 bytes sent in 0.031 seconds (89 Kbytes/s)
                    ftp>
                    Grrrrrrrrrrrrrrrrrrrrrrrrrrrr !!!!!
                  2. Webmaster
                    @jipicyVite fait avant la fin du repas de famille ( :( ) je regarde demain en reproduisant vos deux configurations.
                    Mais je ne pense pas que le soucis soit lié à la conf de vsftpd, la config de base sur la FC #3 passe sans soucis.
                2. Merci on progresse, maintenant j ai le message "500 OOPS could not bind listening IPv4 socket "

                  Merci encore de votre aide
                  1. J ai trouvé la solution et je vois que le post précedent le mien donne la même chose, j ai oublié de mettre LISTEN=no dans mon fichier de conf vsftpd.

                    Encore merci a tous et bonne journée
                    1. j'ai trouve la réponse et qui marche a 100%%%%%%%%%%%%%%
                      il suffit de désactiver selinux

                      vim /etc/selinux/config et mettre SELINUX=disabled et bien sur
                      n oublier pas un reboot.........

                      ps: je suis debutant sur linux mai j la solution
                      1. çà a marché pour moi même si ce n'est pas conseillé et que c'est juste pour dépanner mais bon pour les personnes qui ne veulent que tester leurs serveurs ftp vous pouvez suivre ce que farid a dit ! merci farid ;)