创建具有 sudo 访问权的 Ansible 用户

您可以创建一个 Ansible 用户,无需密码即可访问 root 中的所有节点。 IBM Storage Ceph 运行 cephadm-ansible playbooks。

开始之前

关于此任务

Ansible 用户必须能够以具有 权限的用户身份登录所有 IBM Storage Cephroot 权限的用户登录所有节点,以安装软件和创建配置文件,而无需提示输入密码。
重要信息: 如果您使用的是 Red Hat Enterprise Linux 9 ,那么仅当您是非 root 用户时才使用这些步骤。 如果您是 root 用户,请参阅在 Red Hat Enterprise Linux 9 上启用以 root 用户身份登录 SSH 部分。
有关创建用户帐户的更多信息,请参阅 Red Hat 文档中的 Red Hat Enterprise Linux 文档中的配置基本系统设置 > 开始管理用户帐户

过程

在存储集群中的每个节点上完成这些步骤。
  1. root 用户身份登录到节点。
    ssh root@HOST_NAME
    HOST_NAME 替换为 Ceph 节点的主机名。
    例如
    [ root@admin ~]# ssh root@host01
    提示时输入 root 密码。
  2. 创建新的 Ansible 用户。
    adduser USER_NAME
    USER_NAME 替换为 Ansible 用户的新用户名。
    重要信息: 请勿将 ceph 用作用户名。 为 Ceph 守护程序保留 ceph 用户名。 跨集群的统一用户名可以提高易用性,但避免使用明显的用户名,因为入侵者通常会将其用于暴力攻击。
    例如
    [ root@host01 ~]# adduser ceph-admin
  3. 为此用户设置新密码。
    passwd USER_NAME
    USER_NAME 替换为 Ansible 用户的新用户名。
    例如
    [ root@host01 ~]# passwd ceph-admin
    提示时输入新密码两次。
  4. 为新创建的用户配置 sudo 访问权。
    cat << EOF >/etc/sudoers.d/USER_NAME
    $USER_NAME ALL = (root) NOPASSWD:ALL
    EOF
    USER_NAME 替换为步骤 2中创建的 Ansible 用户的用户名。
    例如
    [ root@host01 ~]# cat << EOF > /etc/sudoers.d/ceph-admin
    ceph-admin ALL = (root) NOPASSWD:ALL
    EOF
  5. 为新文件分配正确的文件许可权。
    chmod 0440 /etc/sudoers.d/USER_NAME
    USER_NAME 替换为步骤 2中创建的 Ansible 用户的用户名。
    例如
    [ root@host01 ~]# chmod 0440 /etc/sudoers.d/ceph-admin