Centos
以非 root 使用者身份執行 ipmitool
我想在無頭 CentOS6 伺服器上監控一些與硬體相關的數據。更具體地說,諸如電壓、風扇速度、熱數據之類的東西……
由於伺服器是無頭的,因此我發現最好的方法是通過一個 php 腳本來
ipmitool
以一種很好的方式格式化結果。當然,網路伺服器使用者不是 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
當我以網路伺服器身份登錄時。
我在這里和那裡搜尋了一下,並對 感興趣
devfs.rules
,但它似乎在 CentOS6 上不存在,而且我也不熟悉與 mount/dev
相關的東西。誰能指出我正確的方向?
/dev/ipmi*
通常僅限於您發現的root。ipmitool
您作為非 root 使用者執行的選項是(按我個人喜好的粗略順序):
- 使用
sudo
(您可以在 sudoers 中專門為那些應該被允許執行 ipmitool 的人創建一個條目,如果您不想也給他們通常不受限制的 sudo 訪問權限)- 修改您的
udev
規則,以便其他使用者/組可以訪問該設備(我不知道 udev 規則在 CentOS 6 上保存在哪裡,但在 /etc 下查看適合該法案的內容)。這與編輯的方法相同devfs.rules
- CentOS 文件將引導您朝著正確的方向前進,這個頁面(或一些創造性的Google搜尋)將幫助您了解 udev 語法。(我會給你指點,但我自己幾乎不熟悉它:x)- 通過網路連接到 IPMI 介面(如果您的 IPMI 介面支持)。
這可能需要燒錄網路介面和交叉電纜,或者將 IPMI 卡連接到您的網路,這就是它在列表中如此低的原因。 4. 製作
ipmitool
setuid-root。(是的。不要那樣做。這通常是一個壞主意和糟糕的建議——假裝我沒有提到它。)