SFTP-Dateiserver in FreeBSD einrichten
Ich wollte ein kleines Austauschlaufwerk für Daten erstellen, das über das Internet erreichbar ist. Dabei wollte ich auf die üblichen Cloud-Dienste (Google Drive, iCloud, Dropbox, etc.) verzichten.
Als Möglichkeiten kamen mir spontan WebDAV oder SFTP in den Sinn. Vorteil an SFTP ist, dass man auf dem Server nichts installieren muss, was nicht eh schon vorhanden wäre (sshd). Lediglich die Konfiguration wollte ich etwas anpassen, damit die SFTP-Nutzer sich nicht über ein Terminal einloggen können. Dazu muss folgendes in der /etc/ssh/sshd_config angepasst werden:
Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory /usr/home/sftponly
ForceCommand internal-sftp
PermitTTY no
X11Forwarding no
AllowTcpForwarding no
Außerdem muss man die entsprechende Nutzergruppe anlegen mit:
pw groupadd sftponly
Dann noch einen Nutzer anlegen mit:
pw useradd -n user1 -d /usr/home/sftponly/user1 -G sftponly -m -M 700 -s /usr/sbin/nologin -w random
Die standardmäßig ins Nutzerverzeichnis kopierten Konfigurationsdateien kann man mit
rm /usr/home/sftponly/user1/.*
wieder löschen, die werden eh nicht gebraucht.