2.10. 创建具有 sudo 访问权限的 Ansible 用户
Ansible 必须能够以具有 root
权限的用户身份登录所有 Red Hat Ceph Storage 节点,以便在不提示输入密码的情况下安装软件和创建配置文件。在使用 Ansible 部署和配置 Red Hat Ceph Storage 集群时,您必须在存储集群的所有节点上创建一个没有密码的 root
用户。
前提条件
-
对存储集群中的所有节点具有
root
或sudo
访问权限。
流程
以
root
用户身份登录 Ceph 节点:ssh root@$HOST_NAME
- 替换
-
$HOST_NAME
,其主机名为 Ceph 节点。
-
示例
# ssh root@mon01
出现提示时,输入
root
密码。创建一个新的 Ansible 用户:
adduser $USER_NAME
- 替换
-
$USER_NAME
,它具有 Ansible 用户的新用户名。
-
示例
# adduser admin
重要不要使用
ceph
作为用户名。ceph
用户名保留用于 Ceph 守护进程。整个集群中的统一用户名可以提高易用性,但避免使用明显的用户名,因为入侵者通常使用它们进行暴力攻击。为这个用户设置一个新密码:
# passwd $USER_NAME
- 替换
-
$USER_NAME
,它具有 Ansible 用户的新用户名。
-
示例
# passwd admin
出现提示时,输入新密码两次。
为新创建的用户配置
sudo
访问权限:cat << EOF >/etc/sudoers.d/$USER_NAME $USER_NAME ALL = (root) NOPASSWD:ALL EOF
- 替换
-
$USER_NAME
,它具有 Ansible 用户的新用户名。
-
示例
# cat << EOF >/etc/sudoers.d/admin admin ALL = (root) NOPASSWD:ALL EOF
为新文件分配正确的文件权限:
chmod 0440 /etc/sudoers.d/$USER_NAME
- 替换
-
$USER_NAME
,它具有 Ansible 用户的新用户名。
-
示例
# chmod 0440 /etc/sudoers.d/admin
其它资源
- Red Hat Enterprise Linux 7 系统管理员指南 中的 Adding a New User 部分。