Anton
но мне нужно было просто ссш таймаут оттюнить, уже нашёл как
Anton
без этого таск просто вылетал недоделаным
Err
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
Ievgen
может не сработать из за PATH
Ievgen
command: "{{home_dir}}.rbenv/bin/rbenv install {{ rbenv_ruby_version }}"
Err
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
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
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
Ходим к нему полемаршем
Err
Sergey
Sergey
getent passwd