Re: User einsperren ohne jail

From: Polytropon <freebsd(at)edvax.de>
Date: Fri, 12 Feb 2010 05:37:46 +0100

On Fri, 12 Feb 2010 04:30:39 +0100, Marc Santhoff <M.Santhoff(at)web.de> wrote:
> Tag liebe Listenleser,

Morgen!

> ich würde gern einen User einsperren, so daß
>
> - er sein Heimverzeichnis nicht verlassen kann und

Mit chroot, wie Du schon erkannt hast.

> - nur bestimmte Programme (jenseits der systemeigenen Programme, also
> nur für Programme unterhalb /usr/local/) von ihm ausführbar sind.

Der einfachste Weg ist, $PATH auf die Verzeichnisse zu
beschränken, die Programme enthalten, deren Ausführung
erlaubt sein soll.

Natürlich hält das den jeweiligen Nutzer nicht davon ab,
per absolutem Pfad Programme aufzurufen. Das kann man
mit o-x verhindern, allerdings müssen dann alle anderen
Benutzer, für die diese Restriktion nicht gelten soll,
in einer Gruppe sein, für die g+x erlaubt ist.

> Mein Problem beginnt schon beim Login, kann man dort gleich mittels
> chroot(1) für Isolation sorgen?

Wie loggt sich der Benutzer ein, per X-Login (xdm) oder
im Textmodus, in eine Dialogshell? Man kann entweder per
/etc/csh.login oder per /usr/local/lib/X11/xdm/GiveConsole
entsprechende Anweisungen einbauen.

> Die Steuerung der Programmausführung dürfte mit geeigneten Rechten auf
> dem Binary hinzubekommen sein, ist aber sensibel zu verwalten. Jede
> Aktualisierung von ports führt ja schon dazu, daß die Rechte eventuell
> nicht mehr passen ...

Genau.

> Ist das möglich, bekommt man so eine Konfiguration hin, ohne dem Irrsinn
> zu verfallen?

Zweckmäßig wäre vielleicht ein Skript, das im Anschluß an ein
Update aufgerufen wird und prüft, ob auch alle Rechte wie in
der Vorgabe sind und, da sie es üblicherweise NICHT sind, diese
entsprechend der Vorgabe wiederherstellt.

Dem Irrsinn kann man durch geeignete Skripte also sinnvoll
vorbeugen. :-)

> Oder sollte ich besser ein Jail aufsetzen?

Ich möchte fast sagen, daß ein Jail die einfachere Lösung ist.
Da ich das selbst aber noch nicht probiert habe, kann ich keine
fundierte Meinung dazu abgeben.

> Oder noch eine andere Lösung benutzen, die ich nicht kenne?

Tja, fällt mir auf Anhieb nichts ein, aber die anderen Listen-
teilnehmer können Dir da sicher noch einen eleganteren Weg
aufzeigen, sobald sie wach und vor ihrem Rechner betriebsbereit
sind. :-)

-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 12 Feb 2010 - 05:37:58 CET

search this site