需要 Haproxy socat 帮助解决 Cacti 问题

需要 Haproxy socat 帮助解决 Cacti 问题

正在使用 haproxy socat 获取会话数据以在 cacti 中绘制它,/var/run/socket-haproxy 由 www-data(cacti 使用的用户)拥有,但是当我尝试以 www-data 的身份执行此命令时,权限被拒绝,任何帮助都将非常感激。

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

答案1

所以问题出在你的管道上。你正在做的是以 www-data 用户的身份回显 show stat,但以你自己的用户身份运行 socat。需要用引号括起来

另外,以用户身份运行命令是完全错误的

例如

# 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

相关内容