安装oblogproxy最新版导致操作系统/usr/bin目录被删除

【 使用环境 】测试环境, centos7.5.1804
【 OB or 其他组件 】oblogproxy
【 使用版本 】 v2.0.2_BP1
【问题描述】安装 oblogproxy rpm 包, start 后整个操作系统的 /usr/bin目录被删除,系统无法使用.复现步骤:

  1. mkdir /opt/oblogproxy
  2. rpm -ivh --prefix=/opt/oblogproxy oblogproxy-2.0.2-101000142024080121.el7.x86_64.rpm
  3. cd /opt/oblogproxy
  4. ./run.sh config_sys root@sys aaAA11__
  5. ./run.sh start
    略等两分钟,整个操作系统的 /usr/bin 就被删除了, 系统被破坏!!!
    【复现路径】连续更换了三台主机按上述步骤操作,稳定复现.
    【附件及日志】
    最后一次用 strace sh -x run.sh start 方式启动,得到日志如附件.
    oblogproxy.txt (27.1 KB)
3 个赞

strace日志看logproxy是正常启动了,运行2分钟左右删除/usr/bin这个问题目前没遇到过,
我联系这块的老师看下

3 个赞

好的.你们可以本地找台机器测试下.

2 个赞

run.sh 不会操作 /usr/bin 目录,你说这个现象应该不是 logproxy 引起的

3 个赞

没有碰到过这样的问题

2 个赞

你试了没有?步骤都给你了,你不会自己试试?

2 个赞

要不给你录个像?还是你现场看我操作?

2 个赞

我上面的回复是想告诉你,logproxy 程序本身和启动脚本都不会修改 /usr/bin 目录,我们在内部本地部署和运行过很多次,没有遇到过这种问题。

logproxy 服务目前是不需要管理员权限的,所以你可以试试用普通用户启动,这样是没有删除系统文件的风险的。

3 个赞

我觉得你这是很不负责任的态度,完全靠经验来说话.你试试很难吗?才有几步步骤?难道这个工具不能用root 部署???
用普通用户就是无法启动:


从报错的情况看就是与绝对路径有关.

3 个赞

按这上面的操作,本地部署试下,看/usr/bin目录是正常的


是否还有其它的什么操作吗?

3 个赞

没有啊.咋这么神奇呢?这是我刚刚又操作了一次.


新机器,稳定复现.

2 个赞

我还发现,如果 rpm 安装时不指定目录, 就没有问题,只要指定了其它目录就会出现这个现象.

如果你是用 root 用户解压的,需要把工作目录的 owner 转成启动用户。另外,不是说不能用 root 用户部署,我这么提议只是给你提供一个排查的方法。

我试试不难,但是我的时间并不是很充裕,因为知道部署脚本里涉及哪些操作,所以我给出了上面的结论,如果你不认同我尊重你的想法,但是现在这种指责我并不接受。

2 个赞

你可以再试试修改一下 conf.json 里的 oblogreader_path、bin_path、oblogreader_obcdc_ce_path_template 这些参数,自定义解压目录时这些都要跟着调整的。另外 config_sys 时的用户名不能带 @sys ,一起改一下。

2 个赞

整个测下来不超过5分钟.

1 个赞

所以你为什么这么纠结于我到底有没有当场测试过呢?难道重点不该是定位和解决问题吗?

我前边跟你讲过了,我们内部本地部署和运行过很多次,这里的运行包括默认安装和指定目录安装、CDC 模式和 Binlog 模式,这些都测过,启动脚本我也确认过没有可疑的删除操作,我说一个跟 logproxy 无关的结论有什么问题吗?

我上面的回复不是在帮你定位问题吗,我也不是说随时都能有时间、有资源来配合你搞这搞那,社区支持本身就是这样,都是抽时间搞的,我也有本职工作啊,怎么不按你说的现操作一遍就是我不负责了?

1 个赞

你昨天第一次回复都在空谈啊,并不是实际解决问题,完全就是"我们测了没问题",再说文档也没写的很细致啊,我指定目录安装,就算没有改 conf.json 的路径, 它就可以把我的系统目录删掉吗?这个你们不该查查吗?

我不明白为什么你每次回复都带这么多情绪,我第一次回复同样是在排除可疑点。如果你只有正文描述的操作,我们内部确实进行过同样的操作,没有出现过这种问题,所以我在不确定你的具体操作是不是只有这些的情况下,排除了 run.sh 脚本引起问题的可能性,这怎么就成空谈了?

后边提出换用户,如果普通用户启动依然被删,因为普通用户不可能删除系统目录,是不是就可以得出不是启动 logproxy 引起的?这不是又排除了一些可能?

1 个赞

看了strace的日志调用,没有涉及到rm 的系统调用,且日志表明oblogproxy是启动的
说明run.sh的脚本应该是没什么问题的;

上面的步骤确实能稳定复现/usr/bin被破坏的问题,这个建议社区同学需要跟进一下;从日志上看,理解是oblogproxy二进制里面的逻辑在这样的配置方式下,存在破坏系统的bug? 变更运行用户是一个绕过方案,不过对破坏系统对社区用户看上去确认存在重大风险 :innocent:

这个问题我们正在跟进,研发的老师也确实比较忙,感谢反馈,有进展会尽快回复您。