einiges zu avanti (linux)

Thomas Berger ThB at gymel.com
So Mai 9 08:58:05 CEST 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hallo Herr Lehmann,

| avanti-betrieb
| ==============
| h. henkel's aussage, daß man das setuid u+s benutzen solle, nehme ich
dankend an. das scheint
| ein problem zu lösen, welches man hat, wenn man avanti als
systemdienst (init.d) starten will
| (dazu benötigt man doch root-rechte, oder?). s.a. auch dazu meine
email hier in der liste.

Ich hatte Herrn Henkel allerdings so verstanden, dass avanti suid
laeuft, jedoch nicht unter der Kennung "root", sondern unter einer
ungefaehrlichen. Er schlug "wwwrun" vor, also die wenig privilegierte
Kennung, unter der Apache CGI-Skripten ausfuehrt und auszuliefernde
Seiten ausliest, ich selber bevorzuge einen dezidierten Benutzer "avanti".


| kleine tips zum installieren
| ============================
| resultierend ergibt sich für mich folgende installanleitung, dieses
betrifft hauptsächlich die
| zuvergebenden rechte u.ä.
|
| damit habe ich keine probleme/fehlermeldungen, wie z.b.:
| -avanti.conf kann nicht gelesen wernde (avadmin)
| -ss wird keine avanti.log erstellt
| -andere fehlermeldungen der skripte in avadmin
| -keine antworten über die php-skripte.
|
|
|
| /var/log/avanti.log
| file  root/root              -rw-rw-rw- (0666)
|       wenn log gelöscht ist, wird neues log immer so gesetzt: (0666)

ziemlich promisk.


| /usr/local/avanti-2.2.1/bin
| ..    root/www               drwxr-xr-x (0755)
| files domainadmin/www        -rwsr-xr-- (4754) (hat das x bei user!)

Wer ist "domainadmin" (kein Linux-Standardaccount. Der Name riecht
aber nach zu vielen Rechten)?

Mit suid nicht verschwenderisch umgehen, nur avanti benoetigt dies.


| AUSNAHME
| /usr/local/avanti-2.2.1/bin
| kill-avanti root/root        -rwxr----- (0700)

im Braunschweiger Paket nicht enthalten.


| /usr/local/avanti-2.2.1/etc
| ..    root/www               drwxr-xr-x (0755)
| files domainadmin/www        -rwsr-sr-- (6754) (hat die x bei user/group!)

suid und sgid? Und das fuer avanti.conf und Parameterdateien? Aberglaube.



| AUSNAHME
| /usr/local/avanti-2.2.1/etc
| avanti.conf domainadmin/www  -rwxr-xr-- (0754)
|       hier hält sich kein suid (6754), wenn mit avadmin die conf
editiert wird,
|       wird avanti.conf auf (0754) gesetzt
|       ALSO kann der rest der files aus 0754 gesetzt werden!?!
|
|
|
| /home/allegro/data
| ..    domainadmin/www        drwx---r-x (0705)
| files domainadmin/www/xyz    -rw-r--r-- (0644)

Schwer zu sagen, schliesslich muss man beruecksichtigen,
dass die Dateien ja auch von irgendjemandem neu aufgelegt
werden muessen: Der braucht dann auch Schreibrechte.


| /home/allegro/public_html/xyz
| ..    domainadmin/www        drwx---r-x (0705)
| files domainadmin/www        -rw-r-xr-- (0654)
|
| AUSNAHME
| /home/allegro/public_html/avanti
| ..    domainadmin/www        drwx---r-x (0705)
| files domainadmin/www        -rwxr-xr-- (0754)

Was beweist, dass diese Dateien nicht benutzt werden...


| start-skript:
| wer hat ein besseres starts-kript als dieses hier (erstellt mit webmin)
|
| #!/bin/sh
| ### BEGIN INIT INFO
| # Provides: avanti
| # Required-Start: $network
| # Required-Stop: $network
| # Default-Start: 2 3 5
| # Description: avanti-allegro
| ### END INIT INFO
| case "$1" in
| 'start')
| 	/usr/local/avanti-2.2.1/bin/avanti -daemon
| 	;;
| 'stop')
| 	;;
| *)
| 	echo "Usage: $0 { start | stop }"
| 	;;
| esac
| exit 0
|
|
| oder kann die ausführbare datei avanti gar nicht "mehr"?

avanti kann nicht mehr, aber checkproc und Konsorten schon.
Ein etwas elaborierteres Startscript ist angehaengt (benutzt
eine Benutzer-Konfigurationsdatei in /etc/:

## Path:        Applications/Avanti2
## Description: The Avanti2 allegro database server

## Type:        string()
## Default:     "avanti"
#
# Which account should run Avanti?
#
AVANTI_USER="avanti"
## Type:        string()
## Default:     "avanti"
#
# Which group should run Avanti?
#
AVANTI_GROUP="avanti"

## Type:        string
## Default:     ""
#
# If you enter the names of any include files here, all conf files will
# be copied relative to $AVANTI_JAIL
#
AVANTI_CONF_INCLUDE_FILES=""


## Type:        yesno
## Default:     no
#
# Shall avanti run chrooted in /var/lib/avanti/jail
#
AVANTI_RUN_CHROOTED="yes"

# When running chrooted:
## Type:        string()
## Default:     ""
#
# Which filesystem should be remounted under $AVANTI_JAIL/home?
#
AVANTI_EXTRA_MOUNT="/seconddisk/databases"


viele Gruesse
Thomas Berger
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3-nr1 (Windows XP)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFAndZ9ENVh3bB0lwMRAocbAKCNJDU/MRu10DAVH4fNpHGjWYroCQCgkTOP
FSSV9Y5u/fnzrD7Ncig57uE=
=aBvk
-----END PGP SIGNATURE-----
-------------- nächster Teil --------------
Ein eingebundener Text mit undefiniertem Zeichensatz wurde abgetrennt.
Name: avanti2
URL: <http://bibservices.biblio.etc.tu-bs.de/pipermail/allegro/attachments/20040509/a04755f6/attachment.ksh>


Mehr Informationen über die Mailingliste Allegro