
近期在編寫微服務的??ansible?
??部署腳本,有些需要使用??root?
??權限,所以就使用了??ansible?
??的??become功能。本篇博客主要講述關于 ??become?? ?的相關用法。
(資料圖片)
軟件 | 版本 |
Ansible | 2.9.4 |
Python | 2.7.5 |
Centos | 7 |
??Ansible?
??使用現有的以??root?
??權限或其他用戶的權限的??權限升級系統?
??來執行任務。由于此功能使您可以“成為(become)”另一個用戶,而該用戶不同于登錄計算機的用戶(遠程用戶(??remote_user?
??)),因此我們將其稱為??become?
??。 ??become?
??關鍵字利用了現有的特權升級工具,例如??sudo?
??,??su?
??,??pfexec?
??,??doas?
??,??pbrun?
??,??dzdo?
??,??ksu?
??,??runas?
??,??machinectl?
?等
您可以設置控制??become?
??進入??play?
??或??task?
??級別的指令。您可以通過設置連接變量來覆蓋這些變量,而連接變量通常在一臺主機之間會有所不同。這些變量和指令是獨立的。比如,可以單獨設置??become_user?
??,而不設置??become?
?。
參數 | 默認 | 含義 | 是否必需 |
become | 是否進行提權操作。如果需要,設置為? | 是 | |
become_user | root | 設置為具有所需特權的用戶-您想要成為的用戶,而不是您登錄時使用的用戶 | 否 |
become_method | sudo | 權限工具,如? | 否 |
become_flags | ? | 否 |
# 要以非root用戶身份連接管理系統服務(需要root特權),可以使用默認值begin_user- name: Ensure the httpd service is running service: name: httpd state: started become: yes # 以apache用戶身份運行命令- name: Run a command as the apache user command: somecommand become: yes become_user: apache # 要在shell程序不登錄時以nobody用戶身份執行操作- name: Run a command as nobody command: somecommand become: yes become_method: su become_user: nobody become_flags: "-s /bin/sh"個人樣例
- name: 修改配置文件-/etc/ld.so.conf shell: sh -c "echo -e "\n{{lboso_install_path}}" >> /etc/ld.so.conf" become: yes tags: - micro_install_clean
功能點 | 用途 |
become | 使用? |
tags | 標簽,適合通過標簽實現一個? |
?become?
??好像不生效,一直報??權限不足?
?的問題或者需要輸入密碼是因為沒有設置對應的密碼,在這里有兩種方式可以設置
啟動腳本加入參數??-K?
?,這個是強制要求輸入密碼,在腳本啟動的時候,就會要求填寫
?hosts?
?文件里面的主機列表設置需要執行??become?
??的地方,設置??ansible_become_password?
?參數,如下圖:
[test_server]10.13.4.[48:51] ansible_ssh_user="test" ansible_ssh_pass="111111" ansible_sudo_pass="111111" ansible_become_password="111111"
?sudo echo a >> 權限文件?
??會報??權限不足?
?的問題這個是權限問題,可以有兩種方式解決:
?root?
?用戶即可解決?sudo sh -c "echo a >> 權限文件"?
???ansible?
??是一門強大的工具,集成了很多不錯的功能模塊。學習這些東西,可以減少我們重復的工作,提高工作效率。實際工作中,是會遇到需要提權的時候,而??become?
?可以幫忙解決這些問題。
??user_guide/become??
?????plugins/become/sudo????????
??become.html#become-plugins??
如果我的文章對大家產生了幫忙,可以在文章底部點個贊或者收藏;如果有好的討論,可以留言;
如果想繼續查看我以后的文章,可以點擊關注可以掃描以下二維碼,關注我的公眾號:楓夜之求索閣,查看我最新的分享!