Vsftpd : interdir l'acces à /home, / ...

xval Messages postés 66 Date d'inscription   Statut Membre -  
xval Messages postés 66 Date d'inscription   Statut Membre -
Bjr,

J'ai un server ftp qui tourne avec vsftpd.
Je cherche restreindre l'accès ftp des utilisateurs à leur seul répertoire /home/<user>.
J'ai créé un ficher du nom de chaque utilisateur sous le répertoire de configuration /etc/vsftpd/users/
J'ai essayé un peu tout, mais rien n'y fait, impossible d'interdire l'utilisateur de saisir "/home" sur son client ftp et d'aller directement sous /home, ... idem pour / ...
Parcontre, remonter d'un répertoire via ".." n'est pas autorisé (ce qui correspond à ce que je veux).

Quelqu'un aurait-il une idée.
Merci

xval

1 réponse

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Si j'ai bien compris tu veux que chaque utilisateur ait access qu'à son répertoire (par exemple /home/user1).

    1. tu as déjà crée /etc/vsftpd/users
    Donc tu dois avoir ça dans le fichier /etc/vsftpd/users/user1
    [root@localhost vsftpd]# cat /etc/vsftpd/users/user1
    local_root=/home/user1
    [root@localhost vsftpd]#


    2. dans le fichier /etc/vsftpd/chroot_list ( le nom n'est pas celui par defaut)
    tu dois avoir les utilisateurs qui sont chrootés dans leur répertoire
    [root@localhost vsftpd]# cat /etc/vsftpd/chroot_list
    user1
    user2
    .
    .
    usern
    [root@localhost vsftpd]#
    


    3. Et dans /etc/vsftpd/vsftpd.user_list(ce n'est pas l'emplacement par défaut) tu as la liste des utilisateurs ayant access à ton ftp (voir l'option userlist_deny)
    [root@localhost vsftpd]# cat /etc/vsftpd/vsftpd.user_list
    # vsftpd userlist
    # If userlist_deny=NO, only allow users in this file
    # If userlist_deny=YES (default), never allow users in this file, and
    # do not even prompt for a password.
    # Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
    # for users that are denied.
    user1
    user2
    .
    .
    usern
    [root@localhost vsftpd]#


    4. Dans /etc/vsftpd./vsftpd.ftpusers (ce n'est pas l'emplacement par défaut) tu as les utilisateur qui n'ont pas access à ton serveur
    [root@localhost vsftpd]# cat /etc/vsftpd/vsftpd.ftpusers
    # Users that are not allowed to login via ftp
    root
    bin
    daemon
    adm
    lp
    sync
    shutdown
    halt
    mail
    news
    uucp
    operator
    games
    nobody
    [root@localhost vsftpd]#
    


    5. le ficier de configuration vsftpd.conf

    Parmi les options tu dois avoir
    chroot_list_enable=YES
    #Default: NO
    
    userlist_deny=NO
    #Default: YES
    
    userlist_enable=YES
    #Default: NO
    
    chroot_list_file=/etc/vsftpd/chroot_list
    #Default: /etc/vsftpd.chroot_list
    
    user_config_dir=/etc/vsftpd/users
    #Default: (none)
    
    userlist_file=/etc/vsftpd/vsftpd.user_list
    #Default: /etc/vsftpd.user_list
    


    En fait moi j'ai garder le fichier original de vsftpd et ensuite j'ai modifié les options en fonction de mes besoins. C'est pour ça que tu vois en commentaire l'option par défaut ( #Default)

    lami20j

    P.S. Voilà les fichiers installée avec vsftpd
    http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-fr-4/s2-ftp-vsftpd-conf.html
    1
    1. xval Messages postés 66 Date d'inscription   Statut Membre 2
       
      Slt,

      Super !
      Merci pour la config.
      les liste d'utilisateurs autorisés et non-autorisés ne sont pas existantes par défaut car je ne les ai pas ! Je vais les créer, ça me semble plus sécurisé.

      Sinon, en lisant ce que tu a écris, je crois avoir trouvé la solution :
      mettre chroot_local_user=YES dans /etc/vsftpd.conf.

      j'ai essayé et ça marche, plus moyen d'accéder à autre chose qu'au répertoire de l'utilisateur.

      Merci beaucoup !
      @+

      xval
      0