Anton
но мне нужно было просто ссш таймаут оттюнить, уже нашёл как
Ievgen
я удалил с user0, теперь он выдает rbenv: not found
под тем узером в которого ты делаешь become есть rbenv?
Anton
без этого таск просто вылетал недоделаным
Err
под тем узером в которого ты делаешь become есть rbenv?
есть, rbenv работает если ручками запустить
Err
Может дело в созданном мною юзере? неправильно создал
Err
- name: Create a login user become: yes user: name: user1 password: '....' state: present create_home: yes
Ievgen
окей ты создал user1
Ievgen
это не значит что ты зашел под user1
Ievgen
ты да сделал become, для создания юзера
Ievgen
теперь для установки rbenv тебе нужно: command: бла бла become: yes become_user: user1
Ievgen
тогда у тебя заработает с большой долей вероятности "{{home_dir}}.rbenv/bin/rbenv install"
Ievgen
если у user1 будет в home каталоге .rbenv/bin/rbenv
Err
теперь для установки rbenv тебе нужно: command: бла бла become: yes become_user: user1
- name: install ruby {{ rbenv_ruby_version }} become: yes become_user: user1 command: rbenv install {{ rbenv_ruby_version }}
Ievgen
может не сработать из за PATH
Ievgen
command: "{{home_dir}}.rbenv/bin/rbenv install {{ rbenv_ruby_version }}"
Ievgen
become: yes become_user: user1
Ievgen
с вот так?
Err
да
Err
Пробовал через https://github.com/zzet/ansible-rbenv-role
Ievgen
- command: whoami become: yes become_user: user1
Ievgen
что говорит?
Err
тоже самое, застревает на этапе установки rbenv install
Err
changed: [35.196.209.175] => {"changed": true, "cmd": ["whoami"], "delta": "0:00:00.003167", "end": "2018-04-13 11:06:01.775823", "rc": 0, "start": "2018-04-13 11:06:01.772656", "stderr": "", "stderr_lines": [], "stdout": "user1", "stdout_lines": ["user1"]}
Ievgen
ну
Ievgen
уже хорошо
Ievgen
значит в user1 ты попадаешь
Ievgen
окей
Err
но PATH возвращает /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Ievgen
- debug: var: home_dir become: yes become_user: user1
Ievgen
что говорит
Ievgen
?
Ievgen
undefined скорей всего
Ievgen
потомо что это походу не builtin
Err
c home_dir запускать? то ok: [35.196.209.175] => { "home_dir": "VARIABLE IS NOT DEFINED!: 'home_dir' is undefined" }
Ievgen
чтд, это я туплю
Err
в .bashrc есть такие строчки
Err
# If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac
Err
закоментировал
Err
начал видеть если делать через роль zzet/ansible-rbenv-role
Err
но зависает на этапе установки
Ievgen
где прописан PATH=/home/user1/.rbenv/bin?
Err
писал в .bashrc и в .profile, etc/profile, etc/profile.d/rbenv.sh добавлял с инструкциями
Err
home/user1/.bashrc и в home/user1/.profile
Err
если заходить именно удаленно, видимо есть какой то специальный .bashrc или ..
Err
Как я понял заход удаленно считается non-interactive
Ievgen
окей
Ievgen
зайдем с другого конца
Ievgen
когда это будет происходить?
Ievgen
единожды при создании узера?
Ievgen
откуда становится известен username ?
Err
hardcoded. Но даже если я уже создал и не запускаю процесс создания юзера, результат тот же
Ievgen
установке через rbenv всегда предшествует создание user или на этапе установки rbenv username всегда известен?
Ievgen
очевидно потому что тебе надо сделать become
Ievgen
так?
Err
влежит pre_tasks:
Ievgen
прибей гвоздями
Ievgen
username в переменную
Ievgen
)
Err
предщедствует
Err
что означает Escalation succeeded
Ievgen
-set_fact: username: "xui" - name: Create a login user become: yes user: name: "{{ username }}" password: '....' state: present create_home: yes - name: install ruby {{ rbenv_ruby_version }} become: yes become_user: "{{ username }}" command: "/home/{{ username }}/.rbenv/bin/rbenv install {{ rbenv_ruby_version }}"
Ievgen
или можно через sudoers отменить reset PATH
Ievgen
или тут сделать: - name: Create a login user become: yes user: name: "{{ username }}" password: '....' state: present create_home: yes register: user_created потом глянуть что в: - debug: var: user_created и из user_created вытащить username и дальше с ним мутить
Err
то что вписанный юзер ни чем не отличается от созданного это 100%
Err
или можно через sudoers отменить reset PATH
Он ресетится при переходе на другой юзер?
Err
Имеешь ввиду это
Err
if [ "`id -u`" -eq 0 ]; then PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" else PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" fi export PATH
Ievgen
не совсем, но через sudoers не вариант
Ievgen
в данном случае
Ievgen
я посмотрел, я не вижу на вскидку вариантов прямых, только костыльные
Ievgen
так что если user известен заранее, от этого и пляши
Dmitry
Добрые люди, приветствую! Кто знает, как правильно передать в ансибль unc путь? Например вот тут: —- - hosts: all tasks: - name: "create a mapped drive under J" win_mapped_drive: letter: J path: \\server\share вместо нужного, передатся вот это: \\\\server\\share
Ievgen
если кто то знает, как получить home для become_user из окружения не костыля через shell/command не молчите
Dmitry
Добрые люди, приветствую! Кто знает, как правильно передать в ансибль unc путь? Например вот тут: —- - hosts: all tasks: - name: "create a mapped drive under J" win_mapped_drive: letter: J path: \\server\share вместо нужного, передатся вот это: \\\\server\\share
ansible 2.4.3.0 config file = /etc/ansible/ansible.cfg configured module search path = [u'/usr/share/ansible'] ansible python module location = /usr/local/lib/python2.7/dist-packages/ansible executable location = /usr/local/bin/ansible python version = 2.7.9 (default, Jun 29 2016, 13:08:31) [GCC 4.9.2]
Dmitry
Ходим к нему полемаршем
Err
я посмотрел, я не вижу на вскидку вариантов прямых, только костыльные
тоже склоняюсь к этому. Ок, большое спасибо за уделенное время)
Sergey
getent passwd