Eingeschränkte Benutzer konfigurieren
Hallo zusammen. Ich möchte einem Benutzer folgende Rechte geben: - Er darf kein Programm starten (also auch nicht rm, cp, etc.) - Er darf nur genau "dieses" Programm starten. Wie mache erstelle ich sowas? Es geht nämlich darum, dass ich ein unsicheres Programm auf einem Server laufen lassen möchte. Dieses ist aber leider nicht sehr sicher. Wenn es nun gehackt wird, soll der Eindringling eben nicht mehr machen können als unbedingt nötig. Also das Programm beenden und wieder starten, was man wohl nicht verhindern kann. Andere Befehle sollten eben nicht erlaubt sein. Viele Dank, NiX - Erich Troxler.
Hi!
- Er darf kein Programm starten (also auch nicht rm, cp, etc.) - Er darf nur genau "dieses" Programm starten.
also, mit dem "standardlinux" ist IMHO alles andere als einfach, da programme meist für alle ausführbar sind (auch für nobodoy/nogroup). du wirst also auf jedem fall auf allen laufwerken mit ACLs arbeiten müssen. dann legst du einen benutzer an mit einer eigenen gruppe (z.B. 65530 uid, 65530 gid) und setzt für diese gruppe und benutzer alle dateien auf nicht ausführbar. dann sollte das gehen. ich würde mir aber bei restriktiven benutzer gedanken machen über das wie, da ja auch z.B. die bash aufgerufen werden muss (oder eine andere shell), das home verzeichnis, ein paar systemtools etc. einfacher ist es normalerweise einfach die loginshell mit dem auszuführenden programm zu vertauschen (z.B. einen passwortdialog statt der bash für mail only benutzer). ciao T
Hallo, On Saturday 29 May 2004 17:39, NiX - Erich Troxler wrote:
Ich möchte einem Benutzer folgende Rechte geben:
- Er darf kein Programm starten (also auch nicht rm, cp, etc.) - Er darf nur genau "dieses" Programm starten.
Wie mache erstelle ich sowas?
Du könntest "genau dieses Programm" als Login Shell des Benutzers setzen. Also in der /etc/passwd statt dem üblichen /bin /bash. Sobald der Benutzer das Programm beendet ist seine Sitzung beendet. Schöne Grüße aus Bremen hartmut
Am Samstag, 29. Mai 2004 17:39 schrieb NiX - Erich Troxler:
Hallo zusammen.
Ich möchte einem Benutzer folgende Rechte geben:
- Er darf kein Programm starten (also auch nicht rm, cp, etc.) - Er darf nur genau "dieses" Programm starten.
Wie mache erstelle ich sowas?
Es geht nämlich darum, dass ich ein unsicheres Programm auf einem Server laufen lassen möchte. Dieses ist aber leider nicht sehr sicher. Wenn es nun gehackt wird, soll der Eindringling eben nicht mehr machen können als unbedingt nötig. Also das Programm beenden und wieder starten, was man wohl nicht verhindern kann. Andere Befehle sollten eben nicht erlaubt sein.
Viele Dank, NiX - Erich Troxler.
hallo erich! neben dem vorschlag, dass du das programm als login-shell hinterlegst (einfach klar und sicher) kannst du diesen user in eine chroot-umgebung setzen. das geht mit hilfe der pam. der user sieht ein bel. unterverzeichnis als seine root und du baust dort die umgebung auf die er haben soll ... dazu musst du alle programme, die er erreichen können soll (und deren biliotheken) dorthin kopieren. welcher user dorthin eingesperrt wird wird in /etc/security/chroot.conf eingetragen und in z.b. /etc/pam.d/login /etc/pam.d/ssh ... eine zeile hinzugefügt, die für die in /etc/security/chroot.conf eingetragenen user den "sprung ind das chroot-jail" auslöst. (s. /usr/share/doc/packages/html/*) gruss d.
participants (4)
-
Dominik Schopper
-
Dr. Thorsten Brandau
-
Hartmut Meyer
-
NiX - Erich Troxler