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?
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
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).
Je ne sais pas vraiment comment vous avez procédé pour configurer cela, mais vous devez installer vsftpd
.
Pas:
Installez vsftpd
:
Sudo apt-get install vsftpd
Faire une sauvegarde de vsftpd.conf
:
Sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
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
Sudo ufw enabe
Créez un utilisateur et définissez le répertoire personnel comme /var/www/ftp/myApplication
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
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
Attribuer la propriété au myApplication
foler à l'utilisateur ftpuser
Sudo chown ftpuser:ftpuser /var/www/ftp/myApplication
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
Créez et ajoutez un utilisateur à la liste d'utilisateurs:
echo "ftpuser" | Sudo tee -a /etc/vsftpd.userlist
Redémarrez daemon
pour charger de nouvelles configurations:
Sudo systemctl restart vsftpd
Sources):