FTP setup
FTP Server 10.12.119.213
localadmin | Pe0p!eADMIN@3
Update your system
sudo apt update sudo apt upgrade -y
Install vsftpd
sudo apt install vsftpd -y
Start and enable the service
sudo systemctl start vsftpd sudo systemctl enable vsftpd sudo systemctl status vsftpd
Create directory structure
sudo mkdir -p /var/ftp/people/firmware sudo mkdir -p /var/ftp/amco/logs sudo mkdir -p /var/ftp/amco/releases
Create users
sudo adduser people (pass people) sudo usermod -s /usr/sbin/nologin people
sudo adduser talosftp (pass w40PSp54) sudo usermod -s /usr/sbin/nologin talosftp
sudo adduser amco (pass 443mcJp9) sudo usermod -s /usr/sbin/nologin amco
echo /usr/sbin/nologin | sudo tee -a /etc/shells
Set people root directory
sudo usermod -d /var/ftp/people/firmware people sudo usermod -d /var/ftp/people talosftp sudo usermod -d /var/ftp/amco amco
Set correct permissions
sudo chown root:root /var/ftp sudo chown root:root /var/ftp/people sudo chown root:root /var/ftp/people/firmware sudo chmod -R 775 /var/ftp
sudo groupadd peoplegrp sudo usermod -aG peoplegrp people sudo usermod -aG peoplegrp talosftp
sudo chown -R root:talosftp /var/ftp/people/firmware sudo chmod -R 775 /var/ftp/people/firmware sudo chmod g+s /var/ftp/people/firmware
sudo chown root:root /var/ftp/amco sudo chmod 755 /var/ftp/amco sudo chown amco:amco /var/ftp/amco/logs sudo chown amco:amco /var/ftp/amco/releases
Configure vsftpd
sudo nano /etc/vsftpd.conf
anonymous_enable=NO local_enable=YES write_enable=YES chroot_local_user=YES allow_writeable_chroot=NO
Restart vsftpd
sudo systemctl restart vsftpd
Allow FTP through firewall (optional)
sudo ufw allow 21/tcp
Final desired structure
/var/ftp ├── people/ ← FTP root for 'talosftp' │ └── firmware/ ← FTP root for 'people', ← writable by 'talosftp', FTP root for 'people' │ ├── version1/fw.zip │ ├── version2/fw.zip │ ├── amco/ │ ├── logs/log1.log │ └── releases/release1.zip
Users & behavior
User FTP Root Permissions people /var/ftp/people/firmware read-only talosftp /var/ftp/people write to firmware amco /var/ftp/amco write to logs + releases