我想在一台无头CentOS6服务器上监控一些硬件相关的数据。 更具体地说,诸如电压,风扇速度,热量数据…
由于服务器是无头的,我发现这样做的最好方法是通过一个php脚本,以很好的方式格式化ipmitool结果。
当然,web服务器用户不是root用户,那会很糟糕。 可悲的是,似乎非root用户无权访问/dev/ipmi* ,这也是有道理的。
运行ipmitool -U "someUser" -P "somePassword" sdr以root身份给我预期的读数,但返回
Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Get Device ID command failed Unable to open SDR for reading
当我作为networking服务器login。
我在这里和那里search了一下,对devfs.rules感兴趣,但似乎它在CentOS6上不存在,而且我也不熟悉安装/dev相关的东西。
任何人都可以指向正确的方向吗?
/dev/ipmi*通常仅限于根目录,因为您已经find了。 您以非root用户身份运行ipmitool选项是(按照我个人的偏好):
使用sudo (你可以在sudoers中创build一个条目,专门用于那些应该被允许运行ipmitool的用户,如果你不想让他们一般不受限制的sudo访问)
修改你的udev规则,这样设备就可以被其他用户/组访问了(我不知道CentOS 6上的udev规则是在哪里存放的,但是在/ etc下找了一些符合条例的东西)。 这与编辑devfs.rules方法是一样的 – CentOS文档将引导您朝着正确的方向前进,而这个页面 (或者一些创造性的使用google)将会帮助你使用udev语法。 (我会给你指点,但我自己几乎不懂):x)
通过networking连接到IPMI接口(如果您的IPMI接口支持)。
这可能需要刻录networking接口和交叉电缆,或将IPMI卡连接到networking,这就是为什么它在列表中如此之低。
使ipmitool setuid-root。
(是的,不要这样做,这通常是一个糟糕的想法和可怕的build议 – 假装我没有提到它。)