V tomto tutoriálu vám ukážeme, jak snadno vytvořit FTP server s virtuálními uživateli pomocí démona vsFTP na Debianu 8.
Pěkně popořádku. Aktualizujte svůj Debian VPS:
# apt-get update && apt-get upgrade
Pokud nemáte webový server Apache2 nebo používáte NGINX, budete si muset nainstalovat apache2-utils
která je potřebná ke generování hesel pro uživatele.
# apt-get install apache2-utils
Nainstalujte službu vsftpd:
# apt-get install vsftpd libpam-pwdfile
Upravte konfigurační soubor vsftpd a odkomentujte níže uvedené řádky. Použijte vim
nebo nano
. Řádky, které nejsou v souboru conf, umístěte na konec.
# vim /etc/vsftpd.conf listen=YES listen_ipv6=NO anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 nopriv_user=vsftpd chroot_local_user=YES allow_writeable_chroot=yes guest_username=vsftpd virtual_use_local_privs=YES guest_enable=YES user_sub_token=$USER local_root=/var/www/$USER hide_ids=YES # Exclude this if you are doing this guide on your own private server seccomp_sandbox=NO
Dále bychom měli upravit náš /etc/pam.d/vsftpd
file pro kontrolu souboru uživatelů/hesel, který se chystáme vytvořit.
Nejprve vytvořte zálohu souboru a poté upravte stávající:
# cp /etc/pam.d/vsftpd{,.bak} # vim /etc/pam.d/vsftpd
Odeberte vše ze souboru a místo toho přidejte tyto řádky:
auth required pam_pwdfile.so pwdfile /etc/ftpd.passwd account required pam_permit.so
Vytvořte hlavního uživatele, kterého budou virtuální uživatelé používat k ověření:
# useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd
Jakmile to uděláme, můžeme vytvořit soubor uživatelů/hesel.
Poznámka:Hesla použitá touto metodou mohou mít až 8 znaků. Pokud chcete, aby vsftpd četl silnější hesla, možná budete chtít hledat jiný modul pam.
# htpasswd -cd /etc/ftpd.passwd rosetest1
Přidejte dalšího uživatele a připojte jej k souboru ftpd.passwd. -c
vlajka je zde vynechána.
# htpasswd -d /etc/ftpd.passwd rosetest2
Dále přidejte adresáře pro uživatele, protože vsftpd je nevytvoří automaticky.
## For rosetest1 # mkdir /var/www/rosetest1 # chown vsftpd:nogroup /var/www/rosetest1 # chmod +w /var/www/rosetest1 ## For rosetest2 # mkdir /var/www/rosetest2 # chown vsftpd:nogroup /var/www/rosetest2 # chmod +w /var/www/rosetest2
Nakonec spusťte démona vsftp a nastavte jej na automatické spouštění při spouštění systému.
# systemctl start vsftpd && systemctl enable vsftpd
Zkontrolujte stav a ujistěte se, že je služba spuštěna:
# systemctl status vsftpd ● vsftpd.service - vsftpd FTP server Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled) Active: active (running) since Sat 2016-12-03 11:07:30 CST; 23min ago Main PID: 5316 (vsftpd) CGroup: /system.slice/vsftpd.service ├─5316 /usr/sbin/vsftpd /etc/vsftpd.conf ├─5455 /usr/sbin/vsftpd /etc/vsftpd.conf └─5457 /usr/sbin/vsftpd /etc/vsftpd.conf
Otestujte své nastavení
Pomocí FileZilla nebo WinSCP se přihlaste k vašemu VPS pomocí uživatelů a hesel, které jste vytvořili dříve.
Vytvořte testovací adresář a testovací soubor z klientů.
Na serveru zkontrolujte, zda byly soubory úspěšně vytvořeny pomocí :
# ls -l /var/www/rosetest1 # ls -l /var/www/rosetest2
Nic z toho samozřejmě nemusíte dělat, pokud používáte některou z našich hostingových služeb Linux VPS, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby vám nastavili FTP server. Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.
PS. Pokud se vám tento příspěvek líbil, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Děkuji.