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