====== Information ======
* vsftpd
* FTP server
===== Prerequisites =====
* [[linux:distros:server:ubuntu_server_lts|Ubuntu Server (LTS)]]
====== Dependencies ======
****
sudo apt install 'vsftpd'
====== Firewall ======
* [[linux:notes:ufw_uncomplicated_firewall|ufw Notes]]
sudo ufw allow '20'/'tcp' && sudo ufw allow '21'/'tcp' && sudo ufw allow '40000':'50000'/'tcp'
===== Disable IPv6 =====
sudo ufw status numbered
sudo ufw delete '9'
sudo ufw delete '8'
sudo ufw delete '7'
====== Service ======
****
sudo systemctl enable 'vsftpd' --now
====== Settings ======
===== General =====
sudo -e '/etc/vsftpd.conf' && sudo systemctl restart 'vsftpd'
# Custom
write_enable=YES
utf8_filesystem=YES
listen=YES
listen_ipv6=NO
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
local_root=/srv/ftp/NAS1
force_dot_files=YES
# End
====== fstab ======
* [[linux:notes:disk_format_filesystems|Different FS Formats]]
* [[linux:notes:rsync_nas|rsync]]
===== UUID =====
* Use either ''PARTUUID'' (GPT) or ''UUID''
sudo blkid
===== fstab =====
sudo mkdir -p '/srv/ftp/NAS1' && sudo -e '/etc/fstab'
sudo mkdir -p '/srv/ftp/NAS1' '/srv/ftp/NAS2' && sudo -e '/etc/fstab'
# NAS
PARTUUID=x /srv/ftp/NAS1 ntfs-3g defaults,noatime,big_writes,nocompression,windows_names,uid=1000,gid=1000 0 2
#UUID=x /srv/ftp/NAS2 ntfs-3g defaults,noatime,big_writes,nocompression,windows_names,uid=1000,gid=1000 0 2
# End
sudo systemctl daemon-reload && sudo mount --all && sync
===== Safe Unmount Externals =====
sudo zypper install 'udisks2'
sudo udisksctl unmount --force --block-device='/dev/sdb'
sudo udisksctl power-off --block-device='/dev/sdb'
====== Permissions ======
===== chown =====
sudo chown -R 'espionage724':'espionage724' '/srv/ftp/NAS1' && sync
sudo chown -R 'espionage724':'espionage724' '/srv/ftp/NAS2' && sync
===== chmod =====
sudo chmod -R '0700' '/srv/ftp/NAS1' && sync
sudo chmod -R '0700' '/srv/ftp/NAS2' && sync