O script --client-connect
é executado como o usuário OpenVPN não privilegiado especificado pelo parâmetro --user
.
Você pode verificar isso adicionando essas linhas à parte superior do arquivo --client-connect
e revisando a saída gravada em /tmp/ov.log
apó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 diretivas --user nobody
e --group nogroup
, 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 recebe como o grupo root
e wheel
, presumivelmente você não está usando a diretiva --user
ou --group
.
Também é importante verificar se PATH
contém os diretórios necessários para os comandos que você deseja executar.