Dit is een “update” voor mijn post uit 2023 waar ik proftpd installeerde met FTPS (FTP+TLS).
We kunnen proftpd installeren met:
sudo apt install proftpd proftpd-mod-crypto
vervolgens moeten we /etc/proftpd/proftpd.conf bewerken en de regel waar port 21
staat in commentaar zetten
vervolgens kunnen we het volgende in /etc/proftpd/conf.d/sftp.conf plaatsen:
LoadModule mod_sftp.c
LoadModule mod_sftp_pam.c
SFTPEngine on
Port 2222
SFTPLog /var/log/proftpd/sftp.log
# Configure both the RSA and DSA host keys, using the same host key
# files that OpenSSH uses.
SFTPHostKey /etc/ssh/ssh_host_rsa_key
SFTPAuthMethods password publickey
SFTPAuthorizedUserKeys file:/etc/proftpd/authorized_keys/%u
# Enable compression
SFTPCompression delayed
Dit schakeld SFTP in op poort 2222. We gebruiker hier niet poort 22 omdat deze al gebruikt is door OpenSSH.
Vervolgens kunnen we de virtuele gebruikers configureren. Deze laten ons toe om aparte SFTP gebruikers te maken per project, die achterliggend dezelfde systeemgebruiker hebben.
Maak het bestand “/etc/proftpd/conf.d/virtual-users.conf” aan en plaats er het volgende in:
DefaultRoot ~
RequireValidShell off
AuthUserFile /etc/proftpd/ftpd.passwd
AuthGroupFile /etc/proftpd/ftpd.group
AuthOrder mod_auth_file.c
WtmpLog off
vervolgens moeten we de bestanden maken die de gebruikersconfiguraties bevatten:
touch ftpd.passwd ftpd.group
chmod 600 ftpd.passwd ftpd.group
nu kunnen we een gebruiker aanmaken. Ik gebruik hier het UID/GID van de www-data gebruiker: 33.
sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=weerstation --uid=33 --gid=33 --home=/var/www/weerstation --shell=/bin/false
Als we nu proftpd herstarten (systemctl restart proftpd) kunnen we inloggen met onze nieuwe virtuele gebruiker.
hier zijn nog wat handige links naar de ProFTPD documentatie