Re: spezieller lib-Pfad pro user

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Fri, 11 Aug 2006 13:17:05 +0200 (CEST)

Marc Santhoff wrote:
> ich möchte auf einem Rechner den Benutzern erlauben, eigene Bibliotheken
> zu laden, also nicht nur Programme zu übersetzen und laufen zu lassen
> sondern auch lib's.

Das ist per Default jedem Benutzer erlaubt, und er kann es
auf verschiedene Weise tun:

1. Bereits beim Compilieren + Linken eines Programms kann
    ein Benutzer einen (oder mehrere) Library-Pfade fest-
    legen. Dies geht mit der Option -rpath des Linkers
    ld(1), z.B.:
       ld -rpath /home/marc/lib -lmeinelib -o foo foo.o
    Verwendet man cc(1) bzw. gcc(1) zum Linken, kann man
    die ld(1)-Option mit der Option -Xlinker übergeben,
    siehe die Manpage.

2. Man kann das Binary einfach statisch linken (was aller-
    dings zu Portabilitäts- und Effizienzproblemen führen
    kann, wenn man nicht aufpaßt).

3. Wenn man bereits ein fertiges Binary hat und es nicht
    neu linken will, kann man mit der Umgebungsvariable
    LD_LIBRARY_PATH einen Pfad festlegen, wo Libraries
    gesucht werden sollen.

4. Wenn man eine bestimmte Library mit einem Binary laden
    möchte, kann man das per LD_PRELOAD. (Vorsicht: Damit
    werden Symbole in anderen Libraries -- inkl. libc --
    überschrieben. Das kann man zu seinem Vorteil nutzen,
    es kann aber auch unbeabsichtigte Effekte haben.)

> Die sollen dann aber nur für diesen Benutzer
> installiert werden können (unter $HOME/local/ oder so).

Üblicher wäre wohl $HOME/lib.

Du kannst allerdings nicht so ohne weiteres verhindern,
daß dann auch andere Benutzer diese Libraries verwenden
können, es sei denn, der Besitzer macht sie nicht lesbar
für andere (per chmod oder umask). Du kannst auch nicht
verhindern, daß ein Benutzer Libraries nach /tmp oder
/var/tmp installiert, um sie anderen Benutzern zugänglich
zu machen (es sei denn, Du richtest ein Per-User-/tmp
ein).

Gruß
   Olli

-- 
Oliver Fromme,  secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
I suggested holding a "Python Object Oriented Programming Seminar",
but the acronym was unpopular.
        -- Joseph Strout
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 11 Aug 2006 - 13:18:58 CEST

search this site