Unixery & daemon worship 🔥


It's a Unix system! I know this!

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.