我创建了一个测试用户,并希望限制这个“测试”用户通过 visudo 只运行以下命令。
echo "show stat" | socat stdio /var/run/haproxy.sock
Run Code Online (Sandbox Code Playgroud)
视觉
test ALL=(root)NOPASSWD:/usr/bin/socat stdio /var/run/haproxy.sock
Run Code Online (Sandbox Code Playgroud)
ls -lat /var/run/haproxy.sock
srwxr-xr-x 1 munin haproxy 0 May 22 22:32 /var/run/haproxy.sock
Run Code Online (Sandbox Code Playgroud)
我运行了以下命令
test#sudo echo "show stat" | socat stdio /var/run/haproxy.sock
Run Code Online (Sandbox Code Playgroud)
错误信息
2013/05/22 23:13:14 socat[21289] E connect(3, AF=1 "/var/run/haproxy.sock", 23): Permission denied
Run Code Online (Sandbox Code Playgroud)
我可以知道 visudo 中哪些配置不正确吗
该echo
作为运行root
,但socat
并非如此。试试这个:
echo "show stat" | sudo socat stdio /var/run/haproxy.sock
Run Code Online (Sandbox Code Playgroud)