Não é possível executar o freeradius como um serviço

1

Eu tenho um servidor radiusd em uma máquina virtual, ele já está configurado e funcionando quando eu emito o modo de depuração "radiusd -X". Meu único problema é que quando eu tento executá-lo como um serviço, ele falha ...

Aqui está o erro que recebi nos registros,

"Sáb 28 de junho, 17:51:12 2014: Erro: falha na ligação à interface eth1: operação não permitida Sab 28 jun 17:51:12 2014: Erro: /etc/raddb/radiusd.conf[240]: Ligação de erro à porta para a porta 0.0.0.0 1812 "

Na verdade, diz que a operação não é permitida, mas eu não sabia que o Linux poderia proibir a ligação na interface de qualquer forma ... Além disso, a porta (1812) não é uma porta privilegiada. Minha máquina está executando o Scientific Linux 6.5 (fork do RHEL). Eu já tentei desabilitar o selinux, mas isso não funcionou. De qualquer forma eu também desabilitei o switch de usuário em radiusd.conf para que o radiusd fosse executado como root, mas eu ainda tenho essa operação não permitida erro. Isso é estranho novamente, só prova que o serviço não roda radiusd como root, mas agora "radiusd -X" e ps faux me mostra que radiusd é executado como root. Por que o simples fato de eu usar o arquivo de serviço faria com que ele NÃO fosse executado como root?

Aqui está a função de início do arquivo de serviço.

start() {
 [ -x $exec ] || exit 5
 [ -f $config ] || exit 6
 echo -n $"Starting $prog: "

 daemon --pidfile $pidfile $exec -d $config_dir
 retval=$?
 echo
 [ $retval -eq 0 ] && touch $lockfile
 return $retval
 }

Qualquer ajuda seria muito apreciada :) Obrigado.

EDIT: Eu meio que resolvi meu problema reescrevendo arquivos de serviços de maneira mínima, mas essa ainda não é a melhor abordagem ...

  start() {
    echo "Starting radiusd"
    radiusd
    }

  stop() {
         echo "Stopping radiusd"
         killall radiusd
         echo "done"
          }
    
por Bryce Tichit 28.06.2014 / 18:07

0 respostas