root启动observer后,admin启动observer失败

  1. 背景:测试环境,OB 3.1.2
  2. 问题描述:
    在root下启动observer后,再次使用 admin 用户启动observer失败。
    observer.log 提示打开某些文件失败,权限不足,但是没有提示是哪个文件:

修改所有 observer 目录的权限后启动成功:
chown -R admin.admin /home/admin/oceanbase/
chown -R admin.admin /data/1
chown -R admin.admin /data/log1

3.期待解答
a. 在 root 用户下执行 ./bin/observer,应当也可以使用 admin 用户运行 observer,并不一定要用 root 用户来运行进程,就像很多其他软件一样比如 MySQL,可以避免运行后一些文件的权限发生改变;
b. 上述处理方法有什么隐患吗,是否有更正确的方法?

可以参考ocp 接管obd 部署的环境中的第4步调整操作系统用户。

您的回答看起来是借助 obd 修改运行用户,odb 会去做修改数据文件、日志文件、配置文件…权限的动作。

我的问题不完全符合这个场景,没有 obd 的情况下(OCP部署的),本来是指定了 admin 用户运行 observer,但是某次误操作在 root 下启动了 observer,这次启动会将部分文件权限属主修改为 root,导致下次在 OCP 上重启 observer 时(或者在 su - admin 后启动 observer)失败。