Wenn ich mich über FTP unter Verwendung einer PEM-Datei verbinde, funktioniert die Verbindung einwandfrei und standardmäßig wird dieses Verzeichnis angezeigt:/home/ubuntu
Jetzt versuche ich, das /home/ubuntu
Verzeichnis zu ändern /var/www/myApplication
. Ich bin neu bei Linux. Kann mir jemand sagen, welche Befehle ich verwenden muss?
vsftpd
Und wie kann ich den Standard-FTP-Pfad sehen, wenn sich in meinem Ordner keine Ordner/Dateien befinden /etc
?
Antwort1
Als FTP-Verzeichnis wird standardmäßig das HOME
Verzeichnis des Benutzers verwendet. Der einfachste Weg, Ihr Ziel zu erreichen, besteht also darin, einen neuen Benutzer zu erstellen und sein HOME
Verzeichnis wie folgt festzulegen /var/www/myApplication
:
usermod -d /var/www/myApplication/ exampleuser
Wenn Sie wollenbeschränkenden Zugriff auf dieses Verzeichnis müssen Sie einrichten
chroot_local_user=YES
in Ihrem vsftpd.conf
. Starten Sie dann den vsftpd-Dienst neu mit:
service vsftpd restart
Es gibt vielleicht einen noch einfacheren Weg, sieheHier:
Um das Standardanmeldeverzeichnis für vsftpd zu ändern, ändern Sie das FTP-Benutzer-Stammverzeichnis in
/etc/passwd
:ftp:x:116:116:vsftpd daemon:/var/vsftpd:/bin/false
Das Stammverzeichnis des FTP-Benutzers (userID=116) wurde geändert in
/var/vsftpd
. Dies ermöglicht dem Standard-/anonymen/unbekannten Benutzer, an einem bestimmten Ort (/var/vsftpd) zu landen.
Antwort2
Ich bin nicht ganz sicher, wie Sie dies eingerichtet haben, aber Sie müssen es installieren vsftpd
.
Schritte:
Installieren
vsftpd
:sudo apt-get install vsftpd
Erstellen Sie eine Sicherungskopie von
vsftpd.conf
:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
Richten Sie Firewall-Regeln ein:
sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 990/tcp sudo ufw allow 40000:50000/tcp sudo ufw status
Sie haben keine Firewall? Dann installieren Sie:
sudo apt-get install ufw
- Aktivieren:
sudo ufw enabe
Erstellen Sie einen Benutzer und legen Sie dieses als Home-Verzeichnis fest.
/var/www/ftp/myApplication
- Erstellen Sie einen zusätzlichen Ordner mit dem Namen
ftp
wie oben gezeigt, falls Sie weitere Ordner für andere Benutzer hinzufügen müssen. Benutzer anlegen:
sudo usermod -d /var/www/ftp/myApplication ftpuser
- Erstellen Sie einen zusätzlichen Ordner mit dem Namen
Legen Sie den Eigentümer fest und entfernen Sie unbedingt die Schreibberechtigungen mit den folgenden Befehlen
sudo chown nobody:nogroup /var/www/ftp sudo chmod a-w /var/www/ftp
myApplication
Weisen Sie dem Benutzer den Besitz des Ordners zuftpuser
sudo chown ftpuser:ftpuser /var/www/ftp/myApplication
Das Setup
/etc/vsftpd.conf
fügt die folgenden Konfigurationen hinzu:# 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
Benutzer erstellen und zur Benutzerliste hinzufügen:
echo "ftpuser" | sudo tee -a /etc/vsftpd.userlist
Neustart,
daemon
um neue Konfigurationen zu laden:sudo systemctl restart vsftpd
Quelle(n):