Non-Root Asterisk - Fehler im HowTo auf voip-info.org?

voipalex

Mitglied
Mitglied seit
18 Okt 2004
Beiträge
319
Punkte für Reaktionen
0
Punkte
16
Hallo!

Ich würde gerne Asterisk in einer non-root Umgebung laufen lassen und möchte deshalb nach dem HowTo auf voip-info.org vorgehen.

Jedoch glaube ich, dass diese Zeile zum Starten aus rc.local falsch ist:
Code:
su asterisk -c /usr/sbin/safe_asterisk

Müßte das nicht "su asterisk -c /usr/sbin/safe_asterisk &" heißen?
(Denn sonst würde ja rc.local nicht weiter abgearbeitet werden)

Gruß
Alex
 
Nein, safe_asterisk legt sich von allein in den Hintergrund:
Code:
...
run_asterisk &
 
safe_asterisk schließt AFAIR selbsttätig den Control-Channel.
 
ecco schrieb:
Nein, safe_asterisk legt sich von allein in den Hintergrund:
Code:
...
run_asterisk &

Danke Dir! Wer lesen kann ist klar im Vorteil ;-) (Asche auf mein Haupt!)

Gruß
Alex

@Mod:
Thread kann geschlossen werden.
 
Hi!

Ich habe auch schon mal daran gedacht * als non-root laufen
zu lassen, aber es gibt einige Gründe die dagegen sprechen:

Code:
#include <unistd.h>
#include <sched.h>
#include <stdio.h>

main()
{
    struct sched_param sched;
    int prio;

    bzero (&sched, sizeof(sched));

    sched.sched_priority = 10;
    if (sched_setscheduler(0, SCHED_RR, &sched))
        fprintf(stderr,"unable to set high priority\n");

    prio =  sched_getscheduler (getpid());
    fprintf(stdout," priority: %d\n", prio);

    return 0;
}

Man compiliere folgendes kleine C-Programm mit
gcc -o prio prio.c und führe es einmal als Superuser
und einmal als User aus. (Bei User meckert es)

Den Code habe ich aus asterisk.c (1.0.7) ab Zeile 492.

However, ich habe auch über erfolgreichen Einsatz von
Asterisk als non-root gelesen. Warscheinlich war der Rechner
zu der Zeit nicht unter Last. Ich selbt hoffe mal, daß es bald eine
stromsparende CPU mit NX-Bit gibt.

EDIT:

Das war wohl 'n Schuss in den Ofen.
Ich nehme das mal schön zurück. :oops:

Apache, Squid & Co machen es schon etwas länger,
sie werden als Superuser gestartet, holen sich die Ressourcen, die
sie brauchen und werden zu user/group wie in der config angegeben
mit den Befehlen setuid/setgid. So macht es auch *. Ich habe
es eben in der asterisk.c entdeckt.


Zu ändern sind in der /usr/sbin/safe_asterisk
von ASTARGS="" zu ASTARGS="-U asterisk -G asterisk "

That's all.

& Danke für den Tip. Jetzt läuft mein * schon viel sicherer.


Gruß
britzelfix
 
Oh, da hat jemand die Capabilities entdeckt. ;)
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.