SSH LOGIN und dann...
SSH LOGIN und dann...
Hi leute, ich würde gerne wissen, ob man einrichten kann, dass wenn sich ein user über ssh einloggt nur eine datei gestartet wird, und dass dieser benutzer nicht mehr rechte hat, als diese Datei zu starten.
Weil das wäre ganz interessant für meinen Server
Weil das wäre ganz interessant für meinen Server
Der User hat nach der Anmeldung auf dem System die gleichen Rechte wie sonst auch auf dem System. Ist dieser User auf der Maschine als User angemeldet, hat er die gleichen rechte, als wenn er an der Maschine selbst sitzen würde. Das Gleiche gilt für root.
Für den Server sollte folgendes gelten: Nicht jedem User die Möglichkeit geben sich per ssh einwählen zu dürfen und, root darf sich als root überhaupt nicht einwählen! Erst als Benutzer anmelden und dann mit su wechseln. 2x Paßworteingabe erforderlich.
Für den Server sollte folgendes gelten: Nicht jedem User die Möglichkeit geben sich per ssh einwählen zu dürfen und, root darf sich als root überhaupt nicht einwählen! Erst als Benutzer anmelden und dann mit su wechseln. 2x Paßworteingabe erforderlich.
Hallo,
so ganz spontan würde mir da chroot einfallen um den User in seinem home (bzw. einem anderen Verz.) 'einzusperren.
Ein HowTo findest du hier: http://www.debian.org/doc/manuals/secur ... nv.de.html
hth
c.peine
so ganz spontan würde mir da chroot einfallen um den User in seinem home (bzw. einem anderen Verz.) 'einzusperren.
Ein HowTo findest du hier: http://www.debian.org/doc/manuals/secur ... nv.de.html
hth
c.peine
Avoid the Gates of Hell, use Linux!
Das wird wohl nicht so einfach gehen, wie rkrueger schon sagte, hat jeder user mit shell zugang auch entsprechende Rechte. Entweder du baust dem User also ein SSH-Jail in dem du nur das eine Programm bereitstellst oder du benutzt deine eigene shell, die nichts anders kann wie diesen einen Befehl ...
Nebenbei, vielleicht wäre es hilfreich mal zu erfahren was genau du eigentlich vor hast, um welches Programm dreht sich das Ganze denn?
Nebenbei, vielleicht wäre es hilfreich mal zu erfahren was genau du eigentlich vor hast, um welches Programm dreht sich das Ganze denn?
Avoid the Gates of Hell, use Linux!
- deadeye
- Beiträge: 561
- Registriert: 14.04.2004 15:32:18
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Ukio, rechts hinterm Feld
-
Kontaktdaten:
Du willst, dass wenn ein User sich einloggt, er nur eine Datei bearbeiten kann?
Leg Dir doch ein Script an, in dem steht:
Und das Script schreibst Du dann bei dem entsprechenden User als Shell in die /etc/passwd.
Weiß jetzt nich, wie sicher das is, evtl. könnte der User beim Aufrufen des Scriptes bis zur Ausführung von vi irgendwie ausbrechen, aber so könnte es erstmal gehen, allerdings nur theorethisch, also hab nix getestet.
Gruß
deadeye
Leg Dir doch ein Script an, in dem steht:
Code: Alles auswählen
/usr/bin/vi /pfad/zur/datei
Weiß jetzt nich, wie sicher das is, evtl. könnte der User beim Aufrufen des Scriptes bis zur Ausführung von vi irgendwie ausbrechen, aber so könnte es erstmal gehen, allerdings nur theorethisch, also hab nix getestet.
Gruß
deadeye
Ein paar Anregungen:
vi würde ich nicht eintragen -> :sh bricht vom vi in die Shell aus
restricted-shell kann helfen
wenn ein Webinterface genutzt werden soll und dieses wird per localhost:port angeboten, so könnte man SSH-Forwarding ohne Shell-Anmeldung (/bin/false) nutzen, siehe:
http://www.debianforum.de/forum/viewtopic.php?t=54351
vi würde ich nicht eintragen -> :sh bricht vom vi in die Shell aus
restricted-shell kann helfen
wenn ein Webinterface genutzt werden soll und dieses wird per localhost:port angeboten, so könnte man SSH-Forwarding ohne Shell-Anmeldung (/bin/false) nutzen, siehe:
http://www.debianforum.de/forum/viewtopic.php?t=54351
Du musst das ganze auf dem Rechner konfigurieren, auf dem eingeloggt wird. Dort ist unter /home/<user>/.ssh/ die Datei authorized_keys.
Da kannst du z.B. folgendes machen indem du die Optionen vor den Key schreibst:
Laesst diesen Key z.B. nur zu, wenn die Verbindungen von einer der anegebenen IP-Adressen kommt.
Mit kannst du festlegen, welches Kommando beim Login ausgefuehrt werden soll.
Gibt da noch ne Latte weiterer Optionen.
Da kannst du z.B. folgendes machen indem du die Optionen vor den Key schreibst:
Code: Alles auswählen
from="172.20.129.14,172.20.129.12"
Mit
Code: Alles auswählen
command=...
Gibt da noch ne Latte weiterer Optionen.
Oehm, naja, die Datei authorized_keys liegt im Home des Users, der sich anmelden will, das ist also immer userbezogen
Du musst halt nur den entsprechenden Key des Users eintragen und die noetigen Optionen noch dazupacken. Damit kann man z.B. auch Dinge wie Port-Forwarding und X-Forwarding verhindern.
Die Variante oben nutzen wir hier, um von einem Rechner per Skript Daten mittels rsync zu uebertragen. Durch das angeben von command= ist sichergestellt, dass da nur der rsync als Server gestartet wird und der ganze Key auch nur akzeptiert wird, wenn er von den angegebenen IP-Adressen kommt.
Leider weiss ich im Moment nicht, in welcher Man-Page das ganze beschrieben war :-\
Du musst halt nur den entsprechenden Key des Users eintragen und die noetigen Optionen noch dazupacken. Damit kann man z.B. auch Dinge wie Port-Forwarding und X-Forwarding verhindern.
Die Variante oben nutzen wir hier, um von einem Rechner per Skript Daten mittels rsync zu uebertragen. Durch das angeben von command= ist sichergestellt, dass da nur der rsync als Server gestartet wird und der ganze Key auch nur akzeptiert wird, wenn er von den angegebenen IP-Adressen kommt.
Leider weiss ich im Moment nicht, in welcher Man-Page das ganze beschrieben war :-\
inder Manpage vom sshd,... habs dort auch nicht gleich vermutet.nepos hat geschrieben:Leider weiss ich im Moment nicht, in welcher Man-Page das ganze beschrieben war :-\
Der Thread hat mir gestern auch gut geholfen, danke
Bert
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de
xmpp:bert@debianforum.de