Een ouderwetse FTP server is geen goed idee en ook onnodig. Via SSH is het mogelijk om een SFTP op te zetten. De onderstaande instructies zijn voor SFTP gebruikers, welke niet met deze gegevens op SSH kunnen inloggen of browsen naar andere onderliggende directory’s.
De OpenSSH server gebruiken we al, maar de installatie is als volgt:
$ apt-get install ssh openssh-server
Controleer of de interne SFTP al aan in de OpenSSH server:
$ vi /etc/ssh/sshd_config
[...]
Subsystem sftp internal-sftp
[...]
En voeg aan het einde van /etc/ssh/sshd_config het volgende toe:
Match group sftpusers
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Herstart nu OpenSSH:
$ service ssh restart
Maak de groep sftpusers aan:
$ addgroup sftpusers
Wel belangrijk nu dat de groepsrechten van de website op rw gezet worden.
$ find /var/www -type f -exec chmod 664 {} + -o -type d -exec chmod 775 {} +
Voor elk aan te maken SFTP gebruiker
Doe de volgende commando’s om een gebruiker aan te maken en alleen toegang te geven via SFTP en geen SSH:
$ adduser user
$ adduser user sftpusers
$ chown root:root /home/user
$ usermod -g www-data -d / user
$ cd /home/user
$ mkdir mailing
$ mkdir uploads
$ mount --bind /var/www/example.com/mailing /home/user/mailing
$ mount --bind /var/www/example.com/wp-content/uploads /home/user/uploads
Om bij een herstart van de machine/VPS de mounts te remounten, zet dan het volgende onder in /etc/fstab:
$ vi /etc/fstab
/var/www/example.com/mailing /home/user/mailing none bind 0 0
/var/www/example.com/wp-content/uploads /home/user/uploads none bind 0 0
De gids “VPS opzetten” bestaat uit de volgende artikelen:
- Inleiding: De gids: een VPS opzetten van A tot Z
- Welke VPS provider te kiezen
- VPS opzetten bij RamNode
- DNS instellen voor de VPS
- Installeren van Postfix
- Installeren van DKIM icm Postfix
- Installeren van de webserver Nginx, PHP en MySQL
- SFTP server via SSH
- Toegangsbeveiliging met Fail2ban op de VPS
- Monitoren van de VPS server
- Nieuwe website aanmaken in Nginx