使用操作系统的非tidb用户执行tiup 命令

请教下各位老师,现在有个需求,tidb 集群是由操作系统的tidb 用户部署的,现在有没有什么方法,我需要让操作系统的非tidb 用户例如abc 用户,能够执行tiup cluster display 命令,之前想到了1个办法,那就是拷贝/home/tidb.tiup 目录到/root/.tiup ,那这种方式维护不方便,所以请问一下还有没有方法实现我的这个需求

可以试试把tiup的权限给abc用户,但是这样不是很安全,还是直接用tidb用户才是常规操作。

可以把abc 用户 加到tidb 的用户组里面, abc 会享有tidb 的相同权限

看看这个对你是否有帮助:

/home/tidb.tiup 拷贝这个,就是2个中控机了,2个用户如果改了配置文件参数,就不好同步。

放到同一个OS组可行

可以考虑做个软连接?

或者

  1. 写 shell 过滤 abc 只允许使用 tiup display
  2. 并在 abc 用户 ~/.bash_profile 下做个 alias
  3. abc 用户 ssh 登 tidb 用户,执行命令返回结果
# like 
alias --> alias = `ssh tidb;tiup display ...;exit`

其实如果只是简单的 display 命令,查节点状态、部署目录什么的
从 dashboard,grafana,information_schema 表中大部分都能查到
不是太能 get 到实际意义;

老师,你好,试了下,通过设置alias别名,然后别名的命令通过ssh 登录tidb 用户执行tiup 命令是可行的,
alias ck=“ssh tidb@127.0.0.1 ‘/home/tidb/.tiup/bin/tiup cluster display tidb-test’”
但是老师说的 alias = ssh tidb;tiup display ...;exit 这种别名设置方式是不行的,因为ssh tidb 之后就直接登录了,不会执行tiup display 命令
但是总体上,这个方法是OK的,感谢老师

在abc用户下,把命令做个软连接应该可以把,再设置相关权限