之前在使用ansible的時候沒有注意,一直使用的root使用者。但是現在root使用者被回收了
我們使用普通使用者的時候會發現很多操作都無法實作,各種權限都沒有
案例
#這裡我們先在被控端(192.168.1.21)上建立一個使用者zhangsan
useradd zhangsan
passwd zhangsan
#設定密碼為123
#設定hosts檔案如下
[master]
192.168.1.21 ansible_ssh_user=zhangsan ansible_ssh_pass=123
我們嘗試去使用者普通使用者到root家目錄建立一個檔案,他會報你沒有權限
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHLwMGRNp3ZE9UeRpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL3gDNxUzMycTMyADNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
而普通使用者如果想要做超出權限的操作,就需要配置sudo 來授權,我們同樣要配置
(一般系統初始化的時候都應該做了)
1. 開啟sudo權限
visudo
#添加
zhangsan ALL=(ALL) ALL
當然這還是不能用的,因為在sudo的時候需要添加上你目前使用者的一個密碼,ansible同理
2.添加sudo的密碼
vi hosts
#添加ansible_become_password=123
#這裡的密碼是zhangsan的密碼用于在sudo的時候交密碼用
[master]
192.168.1.21 ansible_ssh_user=zhangsan ansible_ssh_pass=123 ansible_become_password=123
3. 開啟become
vi /etc/ansible/ansible.cfg
340 [privilege_escalation]
341 become=True #将這個注釋去掉