SSHFS freigeben, aber ohne Shellzugriff

Hallo Leute,

in diesem Blogpost geht es um folgendes Problem: Ein Freund von mir brauchte etwas Speicherplatz auf einem Server. Per SSHFS wollte ich ihm diesen zur Verfügung stellen, jedoch ohne ihm gleichzeitig Shellzugriff auf den Server geben zu müssen.

Die Lösung

Das gewünschte Problem lässt sich jedoch ganz einfach lösen.

Man vergewissert sich zunächst, dass man in der /etc/ssh/sshd_config folgende Zeilen stehen hat:

Subsystem sftp /usr/lib/openssh/sftp-server

Der Pfad kann gegebenenfalls abweichen. Nichtsdestotrotz kopiert man sich die Pfadangabe und fügt diesen als valide Shell hinzu:

sudo su
echo '/usr/lib/openssh/sftp-server' >> /etc/shells

Wenn man danach für seinen Freund einen neuen Benutzer anlegt, so gibt man einfach sftp-server als die Shell an:

sudo useradd -m -s /usr/lib/openssh/sftp-server sshfsacc

Nun wird statt der eigentlichen Shell das SFTP-Programm ausgeführt.  Der Benutzer kann also SSHFS nutzen, jedoch keine anderen SHELL-Kommandos ausführen.

~Sebastian