Install the FTP server and check the status of the service:
sudo zypper refresh sudo zypper install vsftpd sudo systemctl status vsftpd sudo systemctl start vsftpd sudo systemctl stop vsftpd
Create a banner file:
sudo nano /etc/banner.txt
Example content (min. 3 lines):
Witaj na serwerze FTP Dostęp jest monitorowany Nieautoryzowany dostęp zabroniony
Edit the configuration file:
sudo nano /etc/vsftpd.conf
Add / change the following lines:
# Baner ftpd_banner=/etc/banner.txt # Blokada anonimowego dostępu anonymous_enable=NO # Dostęp dla lokalnych użytkowników local_enable=YES write_enable=YES chroot_local_user=YES # Zablokowanie wybranego użytkownika userlist_enable=YES userlist_deny=YES userlist_file=/etc/vsftpd/user_list # Ograniczenie operacji FTP dirlist_enable=NO download_enable=NO deny_file=*.mp3 deny_file=*.avi # SSL/TLS ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem
Create a user to whom we allow access:
sudo useradd -m maja sudo passwd maja
Block user `geeko`:
echo "geeko" | sudo tee /etc/vsftpd/user_list
Create a certificate:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout /etc/ssl/private/vsftpd.pem \ -out /etc/ssl/private/vsftpd.pem sudo chmod 600 /etc/ssl/private/vsftpd.pem
sudo systemctl restart vsftpd
* Ordinary connection:
ftp localhost
* Encrypted connection:
lftp -u maja,haslo ftps://localhost