Ansible执行yum模块安装软件包提示需root用户运行问题求助
问题根因
你执行playbook的命令中--become-user=tco参数配置错误。该参数用于指定提权后要切换到的目标用户,你当前配置为tco,相当于用tco用户sudo切换到自身,仍然没有root权限,因此yum模块抛出必须在root用户下执行的错误。
解决方案
1. 修正执行命令
删除--become-user=tco参数(Ansible默认提权目标用户为root),或显式指定为--become-user=root,修正后的命令如下:
ansible-playbook my-playbook.yml --limit master --become --ask-become-pass --become-method=sudo
2. 可选优化(非必须)
如果需要更明确的权限声明,可以在yum安装任务中显式添加提权配置:
- name: Installing packages yum: name: "{{ packages }}" state: present become: yes become_user: root
验证
你手动登录tco用户可执行sudo su切换root,说明tco的sudoers权限配置正常,修正命令后即可正常执行安装任务。
内容的提问来源于stack exchange,提问作者Mohammed
相关产品推荐
相关产品推荐

