Skip to main content

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