Ansible 如何在单个剧本中成为root用户和应用程序用户
我需要设置一个应用程序,为此我需要以root用户身份安装Nginx,然后以不同的应用程序用户身份运行另一个Java应用程序 这样做的条件是,我有一个特权用户“priv_suer”,它有sudo,我正在以这个用户的身份运行playbook,因为我需要安装和配置Nginx。但我的应用程序用户与此用户“app_user”不同,后者是非特权应用程序专用用户 我面临的问题是,此应用程序用户需要密码才能成为应用程序用户。所以在我的例子中,我需要两个密码,一个是成为root用户,另一个是成为app_用户 我提到了,我能找到的唯一选择是“ansible_Before_password”Ansible 如何在单个剧本中成为root用户和应用程序用户,ansible,Ansible,我需要设置一个应用程序,为此我需要以root用户身份安装Nginx,然后以不同的应用程序用户身份运行另一个Java应用程序 这样做的条件是,我有一个特权用户“priv_suer”,它有sudo,我正在以这个用户的身份运行playbook,因为我需要安装和配置Nginx。但我的应用程序用户与此用户“app_user”不同,后者是非特权应用程序专用用户 我面临的问题是,此应用程序用户需要密码才能成为应用程序用户。所以在我的例子中,我需要两个密码,一个是成为root用户,另一个是成为app_用户 我提
有人能帮我做这件事吗?我想特权升级可以帮上忙。我的解决办法是:
- 为运行Java应用程序的服务器和要安装Nginx的服务器声明不同的组。在您的情况下,这两个组可以共享相同的服务器
下面我给出一个
文件的示例:inventory.yml
- playbook的示例如下所示:
- 最后,使用
选项提供的清单运行ansible playbook:-i
感谢您的快速回复,这听起来很酷。我想尝试一下。将很快更新状态。
all:
children:
app:
hosts:
127.0.0.1:
vars:
ansible_become_pass: app_user@123
ansible_python_interpreter: /usr/bin/python3
ansible_user: app_user
nginx:
hosts:
127.0.0.1:
vars:
ansible_become_pass: root@123
ansible_python_interpreter: /usr/bin/python3
ansible_user: root
- hosts: app
tasks:
- name: Install Java app
become: yes
- hosts: nginx
tasks:
- name: Install NGINX
become: yes
ansible-playbook -i etc/ansible/inventory.yml etc/ansible/playbook.yml