写点什么

TiDB 集群安装部署相关 sudo 权限说明

  • 2024-12-20
    北京
  • 本文字数:1387 字

    阅读完需:约 5 分钟

作者: Jasper 原文来源:https://tidb.net/blog/509390da

sudo 权限的必要性

sudo 是 linux 系统管理指令,是允许系统管理员让普通用户执行一些或者全部的 root 命令的一个工具 , 在 TiDB 集群安装配置过程中,需要对响应用户设置 sudo 权限,以 tidb 用户为例, 在 tidb 用户使用 tiup 运维的过程中,需要通过 sudo 权限完成一些操作系统级别的配置以及服务注册。

sudo 权限配置方式

  1. 以 root 用户依次登录到部署目标机器创建 tidb 用户并设置登录密码。

  2. 执行以下命令,将 tidb ALL=(ALL) NOPASSWD: ALL 添加到文件末尾,即配置好 sudo 免密码。

涉及 sudo 的 tiup 命令

以 v8.1.0 为例tiup cluster check v8.1.0 ~/test.yamltiup cluster deploy test v8.1.0 ~/test.yamltiup cluster start testtiup cluster upgrade test v8.1.0tiup cluster stop testtiup cluster clean test --alltiup cluster destroy test

复制代码

对应的相关操作系统命令

sudo -H bash -c "test -d /tmp || (mkdir -p /tmp && chown root:$(id -g -n root) /tmp)"sudo -H bash -c "test -d /tmp/tiup || (mkdir -p /tmp/tiup && chown root:$(id -g -n root) /tmp/tiup)"sudo -H bash -c "test -d /tmp/tiup/bin || (mkdir -p /tmp/tiup/bin && chown root:$(id -g -n root) /tmp/tiup/bin)"sudo -H bash -c "sysctl -a"sudo -H bash -c "grep -E '^\s*SELINUX=enforcing' /etc/selinux/config 2>/dev/null | wc -l"sudo -H bash -c "if [ -d /sys/kernel/mm/transparent_hugepage ]; then cat /sys/kernel/mm/transparent_hugepage/{enabled,defrag}; fi"sudo -H bash -c "systemctl list-unit-files --type service | grep -i irqbalance.service | wc -l"sudo -H bash -c "systemctl status irqbalance.service"sudo -H bash -c "systemctl list-unit-files --type service | grep -i firewalld.service | wc -l"sudo -H bash -c "systemctl status firewalld.service"sudo -H -u root bash -c "id -u test > /dev/null 2>&1 || (/usr/sbin/groupadd -f test && /usr/sbin/useradd -m -s /bin/bash -g test test) && echo 'test ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/test"sudo -H -u root bash -c "su - test -c 'test -d ~/.ssh || mkdir -p ~/.ssh && chmod 700 ~/.ssh'"sudo -H -u root bash -c "grep -Ev '^\s*#|^\s*$' /etc/ssh/sshd_config"sudo -H -u root bash -c "su - test -c 'grep $(echo ssh-rsa <key-content>) ~/.ssh/authorized_keys || echo ssh-rsa <key-content> >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys'"sudo -H -u root bash -c "test -d <dir> || (mkdir -p <dir> && chown <user>:$(id -g -n <user>) <dir>)"sudo -H -u root bash -c "mv /tmp/<component>-<hash>.service /etc/systemd/system/<component>.service"sudo -H -u root bash -c "systemctl daemon-reload && systemctl start <component>.service && systemctl enable <component>.service"sudo -H -u root bash -c "systemctl daemon-reload && systemctl restart <component>.service"sudo -H -u root bash -c "systemctl daemon-reload && systemctl stop <component>.service"sudo -H -u root bash -c "rm -rf <dirs> /etc/systemd/system/<component>.service;"
复制代码


发布于: 15 分钟前阅读数: 5
用户头像

TiDB 社区官网:https://tidb.net/ 2021-12-15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
TiDB 集群安装部署相关 sudo 权限说明_安装 & 部署_TiDB 社区干货传送门_InfoQ写作社区