Назад | Перейти на главную страницу

Нужна помощь в Haproxy socat для кактусов

я использую haproxy socat, чтобы получить данные сеансов для построения их в cacti, / var / run / socket-haproxy принадлежит www-data (пользователю, который использует cacti), но когда я пытаюсь выполнить эту команду как www-data am получить разрешение отказано, любая помощь будет очень признательна.

sudo su - www-data echo show stat | socat unix-connect:/var/run/socket-haproxy stdio | grep inbound | cut -d, -f 5
2012/01/11 15:58:18 socat[5448] E connect(3, AF=1 "/var/run/socket-haproxy", 25): Permission denied
-su: Can't open echo

Итак, проблема в ваших каналах. Вы повторяете команду show stat как пользователь www-data, но запускаете socat как собственный пользователь. Нужно заключить это в кавычки

Также ваш sudo совершенно неправильно запускает команду от имени пользователя

Например

# sudo -u www-data id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

Вам не нужен дополнительный su, так как вы уже являетесь пользователем root, я так понимаю

Если у вас уже есть root, просто используйте su. Что-то вроде этого

su -c "echo show stat | socat unix-connect:/var/run/socket-haproxy stdio | grep inbound | cut -d, -f 5" www-data