溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ansible 切換用戶問題

發布時間:2020-06-18 07:06:28 來源:網絡 閱讀:1247 作者:Innocence_caosm 欄目:系統運維

ansible 切換用戶問題

? 在實際生產環境中,應用程序的用戶為不允許用戶直接登陸,即為登陸用戶user1 ,操作應用程序為user2,需要完成對應用程序的啟動關閉,需要登陸user1 切換user2 操作應用程序。

? 在ansible 實際應用中怎么解決此類問題呢,通過多方查看資料發現可以ansible_become這個參數可以完美的解決這個問題。

配置文件修改為一下

[pro1]
192.168.0.226   ansible_ssh_user=user1  ansible_ssh_pass='passwd' ansible_become=true ansible_become_user=user2  ansible_become_pass='passwd'
[pro2]
10.111.36.72  ansible_ssh_user=manager  ansible_ssh_pass='O5e2#L9w'

注釋如下:

ansible_user # ssh用戶
ansible_ssh_pass # 密碼
ansible_port # ssh端口
ansible_become # true or false,是否切換用戶
ansible_become_method # 切換用戶使用的方法,如sudo、su
ansible_become_user # 要切換的用戶
ansible_become_pass # 切換用戶是需要的密碼

注意:
這里還有一個非常重要的問題?。?!
博主今天遇到了?。?!
就是同一臺主機,同一個用戶登陸操作不同的應用程序
user1 可以正常登陸 正常操作應用程序
user1 可以正常登陸 切換user2 操作應用程序
這里就出現了沖突矛盾的問題?。?!
在ansible 應用組里面 即使指定了組 但是user1 執行任何程序的時候還是會自動切換成user2 用戶??!

需要怎么如何解決這個問題呢????
通過查看資料以及好友的幫助有兩條解決問題的方法:

方法一:

在hosts 文件中不使用bcome 參數,在語句中進行附加

ansible-playbook /etc/ansible/pro1.yml -e "ansible_become='yes'ansible_become=true ansible_become_user='user2' ansible_become_pass='passwd'"

方法二:

這里博主是使用了方法二,因為密碼有特殊字符不好處理。

當查看主機的時候發現主機有多網卡,于是就把pro2的ip地址改成另一個內網地址,經過測試,兩個項目都能正常使用了?。?!

總結:

經過測試,ansible_become=true 這個參數,對同一個主機地址,同一個用戶都會有效果,即使指定不同的分組,優先級甚是高!解決問題方法的思路很多種,有時候換一下角度考慮,問題就能迎刃而解。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女