Bogdan (SirEdvin)
через факты?
У меня в фактах нет всех пользователей. Я так понимаю, стандартный сбор фактов не собирает их
Alex
а в чем проблема распарсить?
George
Здесь пиариться можно ?
Bogdan (SirEdvin)
Ну, как минимум плохое знание логики работы linux с пользователями. По идее, нужно выкинуть тех, чей pid меньше 1000 и тех, у кого нет хомяка. А кого еще?
Bogdan (SirEdvin)
Хотя если у него pid меньше 1000, но есть хомяк - то это повод задуматся
Alex
Здесь пиариться можно ?
только модулями/ролями для ансибла )))
George
Может быть служебный юзер, но вот хомяк завели для какой-то цели
Bogdan (SirEdvin)
Нет
Разве технически себе нельзя сделать pid меньше 1000, что бы чисто быть злобным буратиной, которого не почистят?)
Bogdan (SirEdvin)
Ну, потому и "задуматся", а не хрохать наверняка
Alex
Ну, потому и "задуматся", а не хрохать наверняка
-r, --system Create a system account. System users will be created with no aging information in /etc/shadow, and their numeric identifiers are chosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (and their GID counterparts for the creation of groups).
Alex
я бы на это опирался
Bogdan (SirEdvin)
Видите, сколько нюансов :) Потому хотелось бы некий модуль, который бы мне в факты засетил пользователей, которые не системные и не сервисные
George
Это не гарантия ничего
George
Я регулярно сталкиваюсь с ситуацией, что нет стандарта на юзеров так, что одинаковые юзернеймы на разных машинах - попадают в разные uid. Хотя пользовательские как правило начинаются с 999 или 1000
George
:-)
Alex
Видите, сколько нюансов :) Потому хотелось бы некий модуль, который бы мне в факты засетил пользователей, которые не системные и не сервисные
врядли такой можно сделать, ибо кривыми руками можно создать любого пользователя с любыми uid/gid и ты не отличишь его от системного, имхо
George
Но тоже не гарантия, т.к. тебе может быть нужен рсинк, чтобы ходить между узлами и файлы копировать - по всем смыслам это системный юзер, а по атрибутам - пользовательский
Roman
а разве тимплейты не работают с when?
Roman
всем привет
George
а разве тимплейты не работают с when?
Все модули умеют работать с when, можно более конкретный вопрос ?
George
Непонятно как определить множество Х
Roman
- name: add config lsyncd in ofvpn node template: src: ~/ansible/templates/lsyncd_ofvpn.j2 dest: /etc/lsyncd.conf when: ansible_facts['ansible_nodename'] == 'ofvpn' fatal: [chvpn]: FAILED! => {"changed": false, "checksum": "d62e268eac40f9a9a77857fb0093cfef95ac07cc", "msg": "Unsupported parameters for (copy) module: when Supported parameters include: _original_basename, attributes, backup, checksum, content, delimiter, dest, directory_mode, follow, force, group, local_follow, mode, owner, regexp, remote_src, selevel, serole, setype, seuser, src, unsafe_writes, validate"}
Aleksandr
в советах opennet поищи про ansible там было что-то на тему юзверов.
Sergey
Да
...как следствие, X заранее известен?
George
Индент -2 сделай
Roman
если нода называется ofvpn в нее копируется конфиг, если иначе другой конфиг
George
Не вижу ценности использовать when:
Alex
если нода называется ofvpn в нее копируется конфиг, если иначе другой конфиг
- name: add config lsyncd in ofvpn node template: src: ~/ansible/templates/lsyncd_ofvpn.j2 dest: /etc/lsyncd.conf when: ansible_facts['ansible_nodename'] == 'ofvpn'
Bogdan (SirEdvin)
...как следствие, X заранее известен?
Учитывая, что есть всякие системы пользователи, тут есть неприятные нюансы :( То есть похоже в итоге просто предется просмотреть всех пользователей и поудалять лишнее :(
Bogdan (SirEdvin)
А так есть только набор пользователей, которые обязаны быть, но без учета системных
Roman
Не вижу ценности использовать when:
я прост оне знаю как можно используя один плейбук разносить конфиги в зависимости от хоста
Sergey
Хитрее можно же. Ты же хочешь отрубить возможность логиниться через sshd?
В общем, вот такую штуку пили с помощью Ансибла: создать новую группу, добавить в неё _точно разрешённых_ пользователей, остальных прямо в PAM обломать. https://serverfault.com/questions/222637/sshd-how-to-enable-pam-authentication-for-specific-users-under
Bogdan (SirEdvin)
Хитрее можно же. Ты же хочешь отрубить возможность логиниться через sshd?
Это довольно сложный вопрос, потому что у нас есть (как и многих других) облачные терминалы и там вроде не ssh, а просто direct логин
Sergey
Это довольно сложный вопрос, потому что у нас есть (как и многих других) облачные терминалы и там вроде не ssh, а просто direct логин
Я вот точно знаю, что этот концепт ты уже дотащишь 😊 Ну или модуль напиши под свои условия.
George
делов-то
Roman
сделай разные плеи в зависимости от хостнейма
так то да, я бы хотел один плейбук
Bogdan (SirEdvin)
Ну, через pam то можно все сделать, да
George
ты при наличии дайрект терминала можешь все сломать
George
так то да, я бы хотел один плейбук
это БУДЕТ один плейбук из нескольких плеев - проблема ?
Bogdan (SirEdvin)
В целом спасибо, попробую :)
Timur
если нода называется ofvpn в нее копируется конфиг, если иначе другой конфиг
В темплейте просто сделай ссылку на переменную, которая принимает разные значения для разных хостов
Timur
А саму переменную задавай через hostvars или groupvars
Timur
И никаких when не нужно
Alex
В темплейте просто сделай ссылку на переменную, которая принимает разные значения для разных хостов
не совсем понял, а можно какой то пример. У меня например на master/slave ноды идут абсолютно разные темплейты
Timur
Если просто набор текста, то ничто не мешает загнать его в одну переменную
Отделение Bereke Bank
не совсем понял, а можно какой то пример. У меня например на master/slave ноды идут абсолютно разные темплейты
делаешь 2 темплейта в роли для мастера и слейва , название которых коррелируют с какой-нибудь переменной, определяющей является хост мастером или слейвом - name: blah blah template: src: mytemplate-{{ variable }}.j2 dest: /asd/qwe/
Timur
Или можно лукапом разные файлы брать просто в зависимости от переменной
Eduard
Всем привет. Запилите, плиз, ревью. https://github.com/egeneralov/bootstrap-hetzner-hardware
Отделение Bereke Bank
давай сюда. всем интересно будет
Aleksandr
https://habr.com/ru/post/494738/ @tnt4brain 👍
Sergey
🙏
Отделение Bereke Bank
Eduard
а пароли в readme актуальные? )))
ты точно прочитал readme?
Антон
нет, просто по диагонали пролистал
Антон
а, все, вопрос снят =)
Eduard
-- #1584111785 openssl rand -base64 32 | head -c 32 | base64 | cut -c 1-12 -- #1584121455 openssl rand -base64 32 | head -c 32 | base64 | cut -c 1-24 -- #1584121456 openssl rand -base64 32 | head -c 32 | base64 | cut -c 1-24
Антон
понтануться не удалось - обосралси )))