Aktywne Wpisy
Larsberg +199
Niezłe jaja będą.
Wyobraźcie sobie jak te zwierzęta będą drzeć ryja - Oddajcie mi auto! Oddajcie mi auto złodzieje! ( ͡° ͜ʖ ͡°)
#prawojazdy #prawo #policja #polskiedrogi #samochody
Wyobraźcie sobie jak te zwierzęta będą drzeć ryja - Oddajcie mi auto! Oddajcie mi auto złodzieje! ( ͡° ͜ʖ ͡°)
#prawojazdy #prawo #policja #polskiedrogi #samochody
Zawiera treści 18+
Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.
- name: komenda
shell: komenda
become: yes
become_user: twojuser
become: true
become_user: root
ale... pamiętaj że playbook ma niższy priorytet niż np. zmienne hosta. Więc jak w hostvars/host masz
ansible_become: false
to to ma pierwszeństwo.
w hosts mam tylko:
[test-srv]
192.168.1.233
[all:children]
test-srv
[all:vars]
ansibleconnection=ssh
ansiblesshuser=pi
ansiblesshpass=raspberry
w ansible.cfg
hostkey_checking = false
pipelining = True
nie ma problemu jak wszystko robie na root to caly skrypt przejdzie az do postawienia gunicorna i nginxa
jak chce juz zrobic bezpieczniej to nic nie trybi ;/
@Strzalka:
Musisz dać tak:
- name: Create virtualenv
become_user: hello
become: yes
command: virtualenv .
@strzalka
Sufo su - hello
Jestem jako hello
Virtualenv .
Sprawfzam ls- lash i jest jako hello i dziala.
W ansiblu dziala wsio jako root jak juz walcze z becomeuser tocsie wysypuje
@Strzalka: Właśnie chodziło mi o to byś nie używał zmiennych
ansible_become*
. Nigdzie. Ani whost_vars
, ani wgroup_vars
, ani nigdzie. Nie używaj bo nadpisują to co sobie ustawiasz w roli, czy site.yml więc używaj tylko w roli lub site.yml. Rola ma wyższy priorytet niż site.yml---
- name: test user
hosts: rasberypi
tasks:
- name: test shell
shell: whoami
become: true
become_user: zabbix
register: foo
- debug: var=foo
ansible-playbook test.yml
PLAY [test user] *******************************************************************************************
TASK [Gathering Facts] *************************************************************************************
ok: [rasberypi]
TASK [test shell] ******************************************************************************************
changed: [rasberypi]
TASK [debug] ***********************************************************************************************
ok: [rasberypi] => {
"foo": {
"changed": true,
"cmd": "whoami",
"delta": "0:00:00.005249",
"end": "2018-04-25 22:06:43.107613",
"failed": false,
"rc": 0,
"start": "2018-04-25 22:06:43.102364",
"stderr": "",
"stderr_lines":
cat ansible.cfg
[defaults]
inventory = ./inventory
retry_files_enabled = False
@Strzalka:
[rasberypi]
127.0.0.1
Po kolei. Jeśli chcesz aby Ansible się łączył przez ssh z usera "hello" to **remoteuser: hello
Jeśli jednak chcesz aby ansible łączył się przez ssh userem pi to remoteuser: pi. Jednak wtedy aby playbook był wykonywany z konta usera hello** to musisz powiedzieć ansiblowi, aby tak zrobił (tu detale: https://docs.ansible.com/ansible/latest/user_guide/become.html). Czyli w twoim przypadku:
remote_user: hello
become: yes
become_method: sudo
become_user: hello
Oczywiście upewniając się, że user
Otóż myslalem ze jak zrobie:
- name: Create virtualenv
become: true
becomeuser: hello
shell: virtualenv .
to wszystko sie wykona w homedirectory (/var/www/) uzytkownika ale niestety nie
trzeba zrobic to tak:
- name: Create virtualenv
become: true
becomeuser: hello
shell: cd /var/www/ && virtualenv .
Teraz juz dziala wystarczy ze dokoncze playbooka z nginxem i
shell: /var/www/virtualenv /var/www/
. Po drugie -vvvvv daje wiele informacji na temat tego co się dzieje i dlaczego.