0
我创建的Azure云有以下ansible脚本VM:具有SSH密钥身份验证的用户如何在Ansible中拥有sudo权限?
---
- name: azure playbook
hosts: localhost
vars_files: ['vars.yaml']
tasks:
- name: Create VM with defaults
azure_rm_virtualmachine:
resource_group: "{{account_prefix}}_rg"
vm_size: Standard_D1
name: "{{account_prefix}}-vm1"
storage_account_name: "{{account_prefix}}store1"
network_interface_names: "{{account_prefix}}vm1eth0"
ssh_password_enabled: false
admin_username: owen
ssh_public_keys:
- { path: /home/owen/.ssh/authorized_keys,
key_data: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDH0q4pmdkJcc/JPVJui5uWMV12GsJAsDCosfUSSFZfTIx92bb9FC3hx1zU7tD1+Zw3aQW13m6ZS2T ... YnvieSbdD3v}
image:
offer: CentOS
publisher: OpenLogic
sku: '7.2'
version: latest
但在运行下一个脚本时添加其他用户:
---
- name: create user
hosts: my-vm1.westeurope.cloudapp.azure.com
# vars_files: ['vars.yaml']
remote_user: owen
tasks:
- name: Create User
user:
name: andrea
password: $6$rounds=656000$1AspdTb0lfOSc5yM$bAkPgHkuHwap/j6f0P88WxOdjxq3MCRO7/qgufYB.s/4t4k99wwtu/.../
group: users
shell: /bin/bash
become: true
我得到“命令:需要密码“错误:
3210我的清单看起来是这样的:
my-vm1.westeurope.cloudapp.azure.com ansible_ssh_private_key_file=/home/myuser/.ssh/id_rsa ansible_user=owen ansible_become=true
那么用户如何拥有sudo权限并使用“成为”等等?
请注意,当清单文件中省略ansible_user和ansible_become时会发生相同的结果。
编辑:如果我作为欧文(从ssh私钥,创建虚拟机的盒子)ssh上,那么我可以运行sudo visudo -f/etc/sudoers并访问该文件。那么欧文有没有sudo权限?我现在变得困惑了!我误解了来自ansible添加用户脚本的错误吗?
编辑2:我认为这个问题是无效的 - 因为用户通过门户手动添加了sudo权限。我仍然不确定发生了什么,但我不认为这个问题是连贯的 - 或者真的代表了我试图解决的实际问题。