Eine feine Möglichkeit auf einem Linux-Server SFTP-User anzulegen bietet das Tool MySecureShell. Nach der Installation und dem Anpassen einiger Parameter in der Config können neue SFTP-User einfach mit useradd über die Shell angelegt werden. Diese User sind dann im angegeben Home-Verzeichniss eingesperrt und haben keinen Shell-Zugriff.
Auf einem Debian-Etch System erfolgt die Installation wie folgt:
wget wget http://ovh.dl.sourceforge.net/sourceforge/mysecureshell/mysecureshell_[versionsnummer]_i386.deb
dpkg -i mysecureshell_[versionsnummer]_i386.debDie Config-Datei ist sehr gut dokumentiert und funktioniert eigentlich sofort. Ich habe meine allerdings noch etwas angepasst:
Config-File im Editor öffnen:
nano /etc/ssh/sftp_configund ein paar Parameter anpassen:
# Keine Speedlimits fuer SFTP
GlobalDownload      0
GlobalUpload            0
Download            0
Upload          0
# FTP-User im Home-Dir einsperren:
StayAtHome      true
VirtualChroot   true
#Gleichzeitige Verbindungen pro User etwas erhöhen
LimitConnection     10
LimitConnectionByUser   3
LimitConnectionByIP     3
# Wir wollen nicht das gleiche Home-Verzeichnis für alle User, daher wird diese Zeile auskommentiert:
#Home   /home/$USER
# Standard Dateirechte nach Bedarf anpassen:
DefaultRights       0664 0755MySecureShell neu starten:
/etc/init.d/mysecureshell restartNun kann man z.b. einen User anlegen der per SFTP nur auf einen bestimmten Ordner im Web-Verzeichniss zugreifen kann:
useradd -d /var/www/ein_projekt -g www-data -s /bin/MySecureShell marvinEine weiteres ausführliches Tutorial zu MySecureShell findet sich unter anderem bei HowtoForge