Page 1 of 1

Wrapper für binary installieren

Posted: 2005-03-09 15:44
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

Re: Wrapper für binary installieren

Posted: 2005-03-09 16:11
by Joe User
Einen user != root verwenden...

Re: Wrapper für binary installieren

Posted: 2005-03-09 16:31
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?

Re: Wrapper für binary installieren

Posted: 2005-03-09 16:35
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.

Re: Wrapper für binary installieren

Posted: 2005-03-09 17:15
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.

Re: Wrapper für binary installieren

Posted: 2005-03-09 17:21
by andreask2
Also ich habe das sicher nicht verstellt. Danke für den Hinweis. Wenn Du sagst "standardmäßig" - wo ist das festgeschrieben/definiert?

Re: Wrapper für binary installieren

Posted: 2005-03-09 17:53
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 ~ $
:?:

Re: Wrapper für binary installieren

Posted: 2005-03-09 19:03
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

Re: Wrapper für binary installieren

Posted: 2005-03-09 19:05
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?

Re: Wrapper für binary installieren

Posted: 2005-03-09 20:01
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.