【问题详细描述】
成功登录web端OM,正确输入目标机器的ip、用户名、密码、ssh端口号后,扫描机器失败。
【日志】
/opt/sequoiadb/conf/log/sdbcm_script.log日志:
[ EVENT]: Begin to scan host(scanHost.js:_init)
[ *ERROR]: Failed to ping host[192.168.20.166], rc: -6, detail: Host unreachable(scanHost.js_scanHost)
[ EVENT]: Finish scanning host(scanHost.js:_final)
【失败原因】
扫描机器的时候,使用了sdb shell 支持的js函数 System.ping("xxxx.xxx.xxx")函数。该函数会调用系统的ping命令。而ping刚好没有设置suid,所以ping只能被root使用。由于sdb 所有的进程默认情况下都是运作在sdbadmin用户下的。所以sdb的进程没有使用ping命令的权限。这就导致了扫描机器失败。
【解决办法】
(如附件2所示):
1、在控制机中(安装有OM的机器)切换到root 用户;
2、运行 whereis ping 找到ping所在的路径
3、假设ping 存在于/bin/ping ,运行 chmod u+s /bin/ping 给ping命令添加suid权限。
【参考链接】
错误码
常见错误处理指南