Freeradius はデーモン モードでは exec モジュール内のスクリプトを実行しません

Freeradius はデーモン モードでは exec モジュール内のスクリプトを実行しません

Freeradius で行き詰まっています。radius exec モジュールでスクリプトを実行する必要があります。デバッグ モード (radius -X) ではすべて正常に動作しますが、バックグラウンドでサービスとして実行すると、exec service stop が機能しないように見えます。何も実行されず、権限の問題またはバグがあります。exec モジュールの設定に関する詳細情報は、こちらにあります。raddb/radiusd.conf

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

raddb/モジュール/exec

exec exe_module {
wait = yes
program = "/bin/bash /var/testscript/test.sh %{User-Name} %{Framed-IP-Address} %{Acct-Status-Type}"
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 %{User-Name} %{Framed-IP-Address} %{Acct-Status-Type}"
input_pairs = request
output_pairs = reply
}
exec {
wait = yes
input_pairs = request
shell_escape = yes
output = none

}

raddb/サイト利用可能/デフォルト

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
}

もう一度、ユーザーとして実行するとデバッグではすべて動作します。サービスとして起動すると何も起こりません。助けてください! 痛み 10/10

答え1

freeradius/サイト有効/デフォルト、authorize{}セクション内、 承認 { .. 更新制御 { Auth-Type := /etc/freeradius/radiusAuthentication.py %{Connect-Info} %{Filter-Id} } } 外部スクリプトをデーモン モードで実行するには、これを試してください。

関連情報