web-dev-qa-db-fra.com

Comment changer le répertoire ftp par défaut?

Lorsque je me connecte avec FTP en utilisant un fichier pem, il se connecte correctement et par défaut, il affiche ce répertoire: /home/ubuntu

Maintenant j'essaye de changer le /home/ubuntu répertoire vers /var/www/myApplication. Je suis nouveau sur Linux. Quelqu'un peut-il dire quelles commandes je dois utiliser?

Et comment puis-je voir le chemin ftp par défaut, il n'y a pas de dossier/fichiers vsftpd dans mon /etc dossier?

2
Mr world wide

Le répertoire ftp est par défaut le répertoire HOME de l'utilisateur, donc la façon la plus simple d'atteindre votre objectif est de créer un nouvel utilisateur et de définir son répertoire HOME sur /var/www/myApplication:

usermod -d /var/www/myApplication/ exampleuser

Si vous souhaitez restreindre l'accès à ce répertoire que vous devez définir

chroot_local_user=YES

dans ton vsftpd.conf. Redémarrez ensuite le service vsftpd avec:

service vsftpd restart

Voir nix et Linux: comment créer un utilisateur FTP avec un accès/dir/spécifique uniquement sur une installation Centos/linux


Il peut y avoir un moyen encore plus simple, voir ici :

Pour modifier le répertoire de connexion par défaut de vsftpd, modifiez le répertoire de base de l'utilisateur ftp dans /etc/passwd: ftp:x:116:116:vsftpd daemon:/var/vsftpd:/bin/false

Le répertoire de base de l'utilisateur ftp (userID = 116) a été remplacé par /var/vsftpd. Cela permettra à l'utilisateur par défaut/anonyme/inconnu d'atterrir dans un endroit spécifique (/ var/vsftpd).

4
dessert

Je ne sais pas vraiment comment vous avez procédé pour configurer cela, mais vous devez installer vsftpd.

Pas:

  1. Installez vsftpd:

    Sudo apt-get install vsftpd
    
  2. Faire une sauvegarde de vsftpd.conf:

    Sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
    
  3. Configurer les règles de pare-feu:

    Sudo ufw allow 20/tcp
    Sudo ufw allow 21/tcp
    Sudo ufw allow 990/tcp
    Sudo ufw allow 40000:50000/tcp
    Sudo ufw status
    
    • Ne pas avoir de pare-feu, puis installez:

      • Sudo apt-get install ufw
      • Activer: Sudo ufw enabe
  4. Créez un utilisateur et définissez le répertoire personnel comme /var/www/ftp/myApplication

    • créez un dossier supplémentaire appelé ftp comme indiqué ci-dessus au cas où vous auriez besoin d'ajouter d'autres dossiers pour d'autres utilisateurs.
    • Créer un utilisateur:

      Sudo usermod -d /var/www/ftp/myApplication ftpuser
      
  5. Définissez sa propriété et assurez-vous de supprimer les autorisations d'écriture avec les commandes suivantes

    Sudo chown nobody:nogroup /var/www/ftp
    Sudo chmod a-w /var/www/ftp
    
  6. Attribuer la propriété au myApplication foler à l'utilisateur ftpuser

    Sudo chown ftpuser:ftpuser /var/www/ftp/myApplication
    
  7. Installer /etc/vsftpd.conf ajoutez les configurations suivantes:

    # Allow anonymous FTP? (Disabled by default).
    anonymous_enable=NO
    #
    # Uncomment this to allow local users to log in.
    local_enable=YES
    write_enable=YES
    
    # Prevent the FTP-connected user from accessing any files or commands outside 
    # the directory tree
    chroot_local_user=YES
    
    # Add a user_sub_token in order to insert the username in our local_root directory 
    # path so our configuration will work for this user and any future users that might 
    # be added
    
    user_sub_token=$USER
    local_root=/var/www/ftp
    
    # Set up the configuration so that access is given to a user only when they 
    # are explicitly added to a list rather than by default
    userlist_enable=YES
    userlist_file=/etc/vsftpd.userlist
    userlist_deny=NO
    
  8. Créez et ajoutez un utilisateur à la liste d'utilisateurs:

    echo "ftpuser" | Sudo tee -a /etc/vsftpd.userlist
    
  9. Redémarrez daemon pour charger de nouvelles configurations:

    Sudo systemctl restart vsftpd
    

Sources):

https://www.digitalocean.com/community/tutorials/how-to-set-up-vsftpd-for-a-user-s-directory-on-ubuntu-16-04

3
George Udosen