haproxy e socat sudo

3

Eu criei um usuário de teste e quero limitar esse usuário "teste" para executar apenas o seguinte comando via visudo.

echo "show stat" | socat stdio /var/run/haproxy.sock

visudo

test    ALL=(root)NOPASSWD:/usr/bin/socat stdio /var/run/haproxy.sock

ls -lat /var/run/haproxy.sock

srwxr-xr-x 1 munin haproxy 0 May 22 22:32 /var/run/haproxy.sock

eu corri o seguinte comando

test#sudo echo "show stat" | socat stdio /var/run/haproxy.sock

A mensagem de erro

2013/05/22 23:13:14 socat[21289] E connect(3, AF=1 "/var/run/haproxy.sock", 23): Permission denied

Posso saber o que foi configurado incorretamente no Visudo

    
por Diden 22.05.2013 / 17:13

3 respostas

4

No seu pipe, apenas o echo é executado com privilégios elevados, acredito que você precisa de um sudo antes de socat.

    
por 22.05.2013 / 17:16
6

O echo está sendo executado como root , mas o socat não está. Tente isso:

echo "show stat" | sudo socat stdio /var/run/haproxy.sock
    
por 22.05.2013 / 17:15
1

Você pode definir um soquete unix normal (não privilegiado) como:

    stats socket /var/run/haproxy/socket.sock mode 666
    
por 07.08.2016 / 09:40

Tags