Não é possível executar comandos root dentro de um script openvpn

Não é possível executar comandos root dentro de um script openvpn

Estou usando a opção openvpn client-connect para executar um script quando um cliente se conecta.

O script funciona bem quando uso comandos simples, mas quando adiciono comandos que precisam de privilégios de root, ele não funciona e os clientes não conseguem se conectar ao servidor VPN.

Por exemplo, aqui estão alguns comandos que tento executar:

bgpctl reload e

route add -net $ifconfig_pool_remote_ip/30 -interface $dev -static.

Os comandos são testados e funcionam corretamente. Estou usando o freeBSD.

Alguma ideia de como resolver o problema?

Obrigado!

Atualizar

Na verdade não houve problema de privilégios. O script não conseguiu executar os comandos bgpctlporque routenão conseguiu reconhecê-los.

Eu poderia resolver o problema especificando o caminho completo para os comandos:

/usr/local/sbin/bgpctl reload

/sbin/route add -net $ifconfig_pool_remote_ip/30 -interface $dev -static

Agora funciona.

Obrigado Roaima.

Responder1

O --client-connectscript é executado como o usuário OpenVPN não privilegiado especificado pelo --userparâmetro.

Você pode verificar isso adicionando estas linhas ao topo do seu --client-connectarquivo e revisando a saída gravada /tmp/ov.logapós uma conexão bem-sucedida

#!/bin/bash
exec >>/tmp/ov.log 2>&1
chmod 666 /tmp/ov.log 2>/dev/null
echo
date
id
echo "PATH=$PATH"

# Payload
bgpctl reload
route add -net "$ifconfig_pool_remote_ip/30" -interface "$dev" -static

# All done
true

No meu sistema, usando as --user nobodydiretivas --group nogroupe recebo esta saída:

Tue Jun  9 15:00:45 BST 2015
uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
...

Como você os obtém como rootusuário e wheelgrupo, provavelmente não está usando a diretiva --userou --group.

Também é importante verificar se PATHcontém os diretórios necessários para os comandos que deseja executar.

informação relacionada