Wrapper für binary installieren

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

Wrapper für binary installieren

Post by andreask2 »

Hallo!

Ich stehe konkret vor dem Problem, ein Wrapperscript für svnserver zu installieren, welches eine bestimmte umask setzt.

Das Script sieht wie folgt aus:

Code: Select all

#!/bin/bash
umask 002
exec /usr/bin/svnserve "$@"
Gentoo sagt nach einem `emerge subversion` man solle dieses Script in /usr/local/bin installieren. Aber was habe ich davon? svnserver wird vom ebuild in /usr/bin installiert, was ja im PATH vor /usr/local/bin steht. Somit wird das wrapper-script ja gar nicht erst ausgeführt.

Wenn ich aber subversion per emerge aktualisiere, wird ja das binary in /usr/bin überschrieben, bzw. erneut als svnserve angelegt wenn ich es umbenenne.

Wie könnte man das Problem mit dem Wrapper lösen, so dass es auch noch nach einem Update von subversion funktioniert?

Grüße
Andreas
User avatar
Joe User
Project Manager
Project Manager
Posts: 11165
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Wrapper für binary installieren

Post by Joe User »

Einen user != root verwenden...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

Re: Wrapper für binary installieren

Post by andreask2 »

mache ich ja, aber was soll sich da unterscheiden?

Code: Select all

# whoami &&  echo $PATH
root
/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.3

Code: Select all

$ whoami &&  echo $PATH
andreas
/bin:/usr/bin:/usr/local/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.3

Ich könnte das Script ja auch in /bin legen. Oder spricht was dagegen?
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

Re: Wrapper für binary installieren

Post by andreask2 »

wenn ich auf svn per svn+ssh:// zugreife wird ja automatisch auf dem Remote-Rechner `svnserve` (also standardmäßig /usr/bin/svnserve, weil emerge es halt dahin installiert) ausgeführt, das heißt von diesem Prozess (ich weiß nicht ob/wie man das verändern könnte). Es ist nicht nötig einen Dämon zu betreiben (das kann svnserve auch, aber das muss ja nicht sein...). Und damit die Rechte entsprechend gesetzt sind, sollte man eben das Wrapper-Script mit der umask vorschalten.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11165
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Wrapper für binary installieren

Post by Joe User »

Der PATH eines normalen Users ist standardmässig:

Code: Select all

/usr/local/bin:/usr/bin:/bin
Stellt sich also die Frage, ob Du oder Gentoo vom Standard abweicht.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

Re: Wrapper für binary installieren

Post by andreask2 »

Also ich habe das sicher nicht verstellt. Danke für den Hinweis. Wenn Du sagst "standardmäßig" - wo ist das festgeschrieben/definiert?
User avatar
Joe User
Project Manager
Project Manager
Posts: 11165
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Wrapper für binary installieren

Post by Joe User »

Gentoo 2004.3:

Code: Select all

rescue ~ # useradd joeuser -m -k /etc/skel -g users -G wheel,tty,cron,portage -d /home/joeuser -s /bin/bash
rescue ~ # su - joeuser
joeuser@rescue ~ $ echo $PATH
/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.4.3-20050110
joeuser@rescue ~ $
:?:
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

Re: Wrapper für binary installieren

Post by andreask2 »

rescue hört sich eher nach Debian-Rettungssystem an, oder?

Wenn ich das mache:

Code: Select all

# useradd andreas -m -k /etc/skel -g users -G wheel,tty,cron,portage -d /home/andreas -s /bin/bash
# su - andreas
$ echo $PATH
/bin:/usr/bin:/usr/local/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.3
Aber ich habe folgendes gefunden:

Code: Select all

$ cat /etc/profile.env | grep " PATH"
export PATH='/usr/local/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.3'

$ cat /etc/profile | grep " PATH"
        export PATH="/bin:/sbin:/usr/bin:/usr/sbin:${ROOTPATH}"
        export PATH="/bin:/usr/bin:${PATH}"
Da war ich aber nicht dran. Vielleicht hast Du hier eine Datei von einem älteren System verwendet?

Bei Gentoo ist man jedenfalls der Ansicht, dass es der Sicherheit und Stabilität dient die Reihenfolge umzudrehen:

http://forums.gentoo.org/viewtopic-p-21 ... ml#2171599
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen

Re: Wrapper für binary installieren

Post by andreask2 »

Hm, sollte ich jetzt wohl einfach die /etc/profile ändern? Das Problem ist ja, dass es nicht nur einen User gibt der svn remote verwendet, sondern eine ganze Gruppe. Oder kann man solche Umgebungsvariablen auch gruppenweise setzen?
User avatar
Joe User
Project Manager
Project Manager
Posts: 11165
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Wrapper für binary installieren

Post by Joe User »

andreask2 wrote:rescue hört sich eher nach Debian-Rettungssystem an, oder?
Nö, ich verwende grundsätzlich zwei Installationen nach dem Schema:
/dev/hda1 /boot
/dev/hda2 swap
/dev/hda3 / (als Rescuesystem)
/dev/hda5 / (als Produktivsystem)

So bin ich im Regelfall nicht auf die Einschränkungen des Rescuesystems (Kernel, busybox, fehlende/inkompatible Tools, etc...) des Anbieters angewiesen.
andreask2 wrote:Bei Gentoo ist man jedenfalls der Ansicht, dass es der Sicherheit und Stabilität dient die Reihenfolge umzudrehen:

http://forums.gentoo.org/viewtopic-p-21 ... ml#2171599
Theorie und historische Praxis ;)
Wenn Du Dein System nicht ändern möchstest, kannst Du alternativ auch entsprechende ~/.profile anlegen.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.