问题描述
我正在使用示例脚本测试 collectd Exec 插件,然后再将其用于我的最终目的。但我遇到了 sample script 本身的问题。
这是错误:
collectd[4585]: exec plugin: Failed to execute ``/home/ec2-user/magic_level.sh'': Permission denied
更多信息:
$cat /home/ec2-user/magic_level.sh
#!/bin/bash
HOSTNAME="${COLLECTD_HOSTNAME:-localhost}"
INTERVAL="${COLLECTD_INTERVAL:-60}"
while sleep "$INTERVAL"; do
echo "PUTVAL \"$HOSTNAME/exec-magic/gauge-magic_level\" interval=$INTERVAL N:$(date +%N)"
done
$ls -l /home/ec2-user/magic_level.sh
-rwxrwxr-x. 1 ec2-user ec2-user 244 Dec 27 16:28 /home/ec2-user/magic_level.sh
我的 exec 插件配置:
<Plugin exec>
Exec "ec2-user" "/home/ec2-user/magic_level.sh"
</Plugin>
注意:我可以看到 SELINUX 已启用。但是我在日志中看不到对这个脚本的任何拒绝
谁能帮我解决这个问题
解决方法
实际上这是被 SELINUX 阻止了。
exec read system_u:system_r:collectd_t:s0 59 file execute system_u:object_r:shell_exec_t:s0 denied 147851
最初我没有看到错误,因为我对 SELINUX 缺乏了解