
Estoy atrapado con Freeradius. Necesita ejecutar scripts con el módulo exec de Radius. Todo funciona bien en modo de depuración (radius -X), pero cuando lo ejecuto como un servicio en segundo plano parece que el servicio ejecutivo deja de funcionar, no se ejecuta nada, hay un problema de permisos o hay un error. Aquí hay más información sobre la configuración en el módulo ejecutivo. Nada especial enraddb/radiusd.conf
modules {
$INCLUDE ${confdir}/modules/
...
$INCLUDE sites-enabled/
raddb/módulo/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/sitios-disponibles/predeterminado
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
}
Nuevamente, todo funciona en depuración cuando lo ejecuto como usuario. Una vez que lo inicio como servicio no hace nada. ¡Por favor ayuda! Dolor 10 de 10
Respuesta1
Enfreeradius/sitios habilitados/predeterminado, dentro de la sección autorizar{},
autorizar { .. actualizar control { Tipo de autenticación := /etc/freeradius/radiusAuthentication.py %{Connect-Info} %{Filter-Id}
} }
Pruebe esto para ejecutar los scripts externos en modo demonio.