问题:使用copy模块将本地文件复制到远程机子,权限被拒绝,报错如下:
# ansible 10.51.33.13 -m copy -a "src=/root/logging.pem dest=/root"
10.51.33.13 | FAILED! => {
"msg": "Failed to get information on remote file (/root/logging.pem): Permission denied"
}
解决:
报错显示没有权限,因为ansible默认是不会开启特权的,我们可以在ansible.cfg配置文件中打开特权选项,其配置文件如下:
vim ansible.cfg
[defaults]
inventory = ~/ansible/hosts
log_path = ~/ansible/ansible.log
timeout = 20
sudo_user = root
remote_port = 22022
remote_user = tier2
[privilege_escalation] # 配置特权选项
become=True # 启用这个特权
become_method=sudo # 用什么方式将普通账户切换到root或所需的其他账户
become_user=root # 登入到远程主机时,再使用su - root切换为root账户
become_ask_pass=False
修改配置后,重新执行命令,执行成功!