Nainstalujte VSFTP na Ubuntu 20.04. V této příručce se naučíte, jak nastavit FTP server a poskytnout uživateli přístup k určitému adresáři jako chroot.
Toto nastavení je testováno na instanci virtuálního počítače Google Compute Engine se systémem Ubuntu 20.04 LTS.
Toto nastavení tedy funguje dobře pro jakýkoli virtuální počítač na AWS EC2 Instance nebo DigitalOcean nebo na jakémkoli jiném cloudovém hostingovém serveru nebo VPS nebo Dedicated.
Předpoklady pro Google Cloud
Pokud k nastavení FTP používáte Google Cloud Platform, musíte provést následující kroky.
- Běžící Compute Engine, viz Nastavení instance Compute Engine s Ubuntu 20.04.
- Dokončeno počáteční nastavení serveru Ubuntu.
Kroky pro nastavení FTP
- Nastavte si instanci virtuálního počítače
- Dokončení počátečního nastavení serveru
- Konfigurace pravidel brány firewall
- Vytvořte nového uživatele
- Nainstalujte server FTP VSFTP
- Nakonfigurujte FTP
- Ověřte nastavení
Předpokládám, že máte server nastavený a nakonfigurovaný.
Nastavení pravidel brány firewall
FTP můžete konfigurovat na libovolném portu, nyní jej nakonfigurujete na výchozí port 21, takže musíte vytvořit pravidlo brány firewall pro poskytování přístupu k těmto portům.
Také otevíráme porty 40000 – 50000 pro připojení v pasivním režimu.
Přejděte na VPC Network>> Pravidla brány firewall a klikněte na Vytvořit pravidla brány firewall.
V Jméno zadejte ftp
V Cíle vyberte All instances in the network
V filtru zdroje vyberte IP ranges
V Rozsahy IP zdroje zadejte 0.0.0.0/0
V části Protokoly a porty zkontrolujte TCP a zadejte 20, 21, 990, 40000-50000
.
Klikněte na Vytvořit .
Povolit porty FTP v UFW
Pokud na svém serveru používáte UFW, ujistěte se, že jste otevřeli port, abyste umožnili připojení k vašemu serveru, jinak se nemůžete připojit.
sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 990/tcp sudo ufw allow 40000:50000/tcp
Vytvořit nového uživatele
Nyní můžete vytvořit nového uživatele pomocí následujícího příkazu k otestování FTP.
sudo useradd -m -c "Name, Role" -s /bin/bash username
Nastavte heslo pro tohoto uživatele.
sudo passwd username
Nainstalujte server VSFTP
VSFTP je Very Secure File Transfer Protocol pro systémy založené na Linuxu. Ve výchozím nastavení AWS nebo Google Cloud nepovolí ověřování na základě hesla k instancím virtuálního počítače.
S VSFTP můžete provozovat svůj vlastní FTP server a vytvářet uživatele a přiřazovat je do libovolného adresáře a zabránit přístupu do jiných adresářů také pomocí chroot.
Nyní můžete nainstalovat VSFTP pomocí následujícího příkazu.
sudo apt install vsftpd
Po dokončení instalace můžete nakonfigurovat VSFTP.
Konfigurace VSFTP
Začněte vytvořením zálohy původního konfiguračního souboru VSFTP.
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
Upravte vsftpd.conf
soubor a proveďte následující změny.
sudo nano /etc/vsftpd.conf
Upravit následující směrnice.
listen=YES listen_ipv6=NO
Zrušit komentář následující směrnice.
write_enable=YES local_umask=022 chroot_local_user=YES
Přidat tyto konfigurace do posledního.
seccomp_sandbox=NO allow_writeable_chroot=YES userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO tcp_wrappers=YES user_sub_token=$USER user_config_dir=/etc/vsftpd/user_config_dir pasv_min_port=40000 pasv_max_port=50000
Zde jste nakonfigurovali userlist_file
který obsahuje seznam uživatelů FTP a user_config_dir
pro uložení uživatelských konfigurací.
Přidejte uživatele, kterého jste dříve vytvořili, do userlist
soubor.
echo "username" | sudo tee -a /etc/vsftpd.userlist
Tento příkaz vytvoří soubor s názvem vsftpd.userlist
a přidejte do něj uživatele a vypíše přidaného uživatele do terminálu.
Vytvořte adresář s názvem user_config_dir
pro uložení uživatelských konfigurací.
sudo mkdir -p /etc/vsftpd/user_config_dir
Vytvořte nový soubor se jménem stejným jako uživatelské jméno v tomto adresáři.
sudo nano /etc/vsftpd/user_config_dir/username
Přidejte do tohoto souboru následující řádek.
local_root=/path/to/your/directory
Uložte soubor a ukončete editor.
Nakonec restartujte VSFTP.
sudo systemctl restart vsftpd
Zabránit přístupu SSH
Nyní musíte zabránit SSH přístupu k nově vytvořenému uživateli přidáním DenyUsers
direktivu ve vašem sshd_config
.
sudo nano /etc/ssh/sshd_config
Přidejte následující řádek na konec souboru.
DenyUsers username other-user
Můžete přidat více uživatelů oddělených mezerou.
Restartujte SSH.
sudo systemctl restart ssh
Připravte se na roli odborníka na informační technologie s operačním systémem Linux
Ověřte nastavení
Nyní otevřete svého FTP klienta a zadejte externí IP adresu vašeho serveru jako název hostitele, Port jako 21, uživatelské jméno s uživatelským jménem, které jste vytvořili předtím, a s heslem.
Nyní budete přihlášeni k serveru a budete mít přístup pouze do složky, která je vám přidělena.
Závěr
Nyní jste se naučili, jak nastavit FTP na instanci virtuálního počítače na Ubuntu 20.04.
Díky za váš čas. Pokud narazíte na jakýkoli problém nebo zpětnou vazbu, zanechte prosím komentář níže.