SCPonly mit chroot unter Debian (Etch)

Nach einem langen Nachmittag und etlichen Versuchen hatte ich endlich herrausgefunden wie man unter Debian Etch den chroot Modus bei SCPonly zum laufen bekommt. Bei der installation mit
aptitude install scponly entsteht das 1. Problem: Das SetUid Bit wird nicht auf die Datei /usr/sbin/scponlyc gesetzt. Dies lässt sich mit dpkg-reconfigure scponly dauerhaft setzen. Dann kommt man zu Problem Nr. 2: scponlyc ist nicht als gültige Shell eingetragen. Dies löst man ganz einfach mit einem echo "/usr/sbin/scponlyc" >> /etc/shells Anschließend kann man die Datei /usr/share/doc/scponly/setup_chroot/setup_chroot.sh.gz entpacken: gunzip /usr/share/doc/scponly/setup_chroot/setup_chroot.sh.gz und ausführen. Es wird eine chroot Umgebung für den angegebenen Benutzer erstellt. Allerdings kann man sich immer noch nicht mit Tools wie WinSCP anmelden (Fehlermeldung: „Cannot initialize SFTP protocol. Is the host running a SFTP server?“). Und hier kommt die Lösung: Es gibt in der chroot Umgebung kein /dev/null Device. Um das Device anzulegen wechselt man zuerst mittels cd /home/ in das Verzeichnis des Benutzers. Anschließend legt man mit mkdir dev das Verzeichnis an und wechselt mit cd dev in selbiges. Mit dem Befehl mknod -m 666 null c 1 3 legt man das null Device an. Damit klappts auch mit Debian und SCPonly in einer chroot Umgebung 🙂