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