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.