Freeradius führt keine Skripte im Exec-Modul im Daemon-Modus aus

4175
Neftanic

Ich bleibe bei Freeradius. Sie müssen Skripts mit dem Radius-Exec-Modul ausführen. Im Debug-Modus (Radius -X) funktioniert alles einwandfrei, aber wenn ich es als Dienst im Hintergrund ausführte, sieht es so aus, als würde der Ausführungsdienst angehalten, es wird nichts ausgeführt, es liegt ein Berechtigungsproblem oder ein Fehler vor. Hier finden Sie weitere Informationen zur Konfiguration im Exec-Modul. Nichts Besonderes in raddb / radiusd.conf

modules { $INCLUDE $/modules/ ... $INCLUDE sites-enabled/ 

raddb / module / exec

exec exe_module { wait = yes program = "/bin/bash /var/testscript/test.sh % % %" input_pairs = request output_pairs = reply shell_escape = yes output = file } exec exe_module_stop { wait = yes program = "/bin/sh /var/testscript/test_delete.sh % % %" input_pairs = request output_pairs = reply } exec { wait = yes input_pairs = request shell_escape = yes output = none 

}

raddb / sites-available / default

accounting { detail unix radutmp main_pool sql sql_log  if (Acct-Status-Type == Start) { exe_module } if (Acct-Status-Type == Stop) { exe_module_stop } attr_filter.accounting_response } 

Wieder funktioniert alles beim Debuggen, wenn ich es als Benutzer ausführe. Sobald ich es als Dienst starte, macht es nichts. Bitte helfen Schmerz 10 von 10

0

1 Antwort auf die Frage

1
Barathi

In freeradius / sites-enabled / default, autorize {}, autorisieren Sie {.. update control % }}, um die externen Skripts im Daemon-Modus auszuführen.

Vergewissern Sie sich, dass Ihre Attribute nur die Attribute wiedergeben. Auch das Skript sollte Echo oder Ablehnen enthalten. Barathi vor 8 Jahren 0
Wenn Sie Accept nicht geben möchten, versuchen Sie, 'ok' zu drucken. So wird es kaum Akzeptieren. Im übrigen Teil geben Sie 'Reject' aus. Barathi vor 8 Jahren 0