* Joachim Kieferle schrieb am 01.Nov.2002:
auf unserem Server möchte ich den Studis den Zugang über ssh auf ihr Homeverzeichnis erlauben, möchte aber _nicht_, dass sie durch die Verzeichnisse des Servers "spazieren" gehen.
Vor gut einem Monat lief schon mal ein Thread über die Liste mit der Lösung rbash.
Aber:
rbash scheint zum Einen bei der 8.1-er nicht zu funktionieren (zumindest aus der /etc/passwd wenn ich dort als shell /usr/bin/rbash eintrage) und
Gibt es denn überhaupt eine /usr/bin/rbash? rbash ist nichts anders als die bash selber, die nur einen anderen Namen hat. Wenn die bash rbash heißt, AFAIR genügt es, wenn sie mit r anfängt, dann ist es eine Restriktet shell. Eine andere Möglichkeit ist /bin/bash -r
nur wenn ich sie als user selber aufrufe, zum Anderen kommt man dann
Vielleicht heißt sie ja bei Dir /bin/rbash. Es gibt keinen Grund, sie in /usr/bin zu stecken, es ist eh nur ein Symlink.
nicht in ein Unterverzeichnis des Users wenn die rbash aktiv ist.
Das ist doch die Funktion der rbash, daß man das Verzeichnis nicht wechseln kann.
Hat jemand dafür schon mal eine Lösung gefunden? Oder ein einigermassen praktikables Workaround?
Glaub nicht, daß die rbash das ist, was Du suchst. Zwar kann der User nicht mehr das Verzeichnis wechseln, aber er kann volle Pfadnamen angeben. Allerdings nicht bei Befehlen. /bin/ls funktioniert nicht, da hier kein voller Pfadname angegeben werden darf. ls /var/spool/mail geht aber sehr wohl, und der User kann nachschauen, wer Mail bekommen hat. Lesen kann er sie natürlich nicht, aber das könnte er auch mit einer normalen shell nicht. Was kann die rbash? Mit der rbash kann man kein cd machen und man kann keine Befehle durch vollen Pfadangabe ausführen. Auch nicht ./configure oder sowas. Außerdem kann man $PATH nicht verändern und auch keine Ausgabe umlenken. Wenn Du mit rbash arbeitest, dann mußt Du für diese User eigene Befehle kreiren und diese etwa in /usr/rbin oder aber in /usr/local/rbin legen. Dieser Eintrag darf als Einziger im $PATH stehen. Da müssen alle Befehle drin stehen, die der User braucht. Es wäre zwar möglich, es auf mehere Verzeichnisse zu verteilen, aber warum sollte man? Die Befehle selber können shellskripte sein, die die eigentliche Befehle aufrufen. Innerhalb des Skripts gelten die Beschränkungen nicht. Natürlich darf der User kein Schreibrecht auf diese Befehle haben. Bernd -- ROTFL = Rolling On The Floor, Laughing = Auf dem Boden wälzen, lachend. SCNR = Sorry, Could Not Resist = Sorry, Ich konte nicht wiederstehen. AFAIK = As Far As I Know = So weit ich weis|BTW = By The Way = Nebenbei bemerkt IMHO = In My Humble Opinion = meiner bescheidenen Meinung nach |Zufallssig. 9