Vlad
published_ports: "{{ container.ports }}"
Алексей
Приветствую. Поделитесь пожалуйста проверенной ролью для управления пользователями/группами/паролями/ключами
Алексей
свой велосипед не хочется писать, думаю уже есть готовые. Гуглил, но что-то не могу вот так сразу найти
Alexander
published_ports: "{{ container.ports }}"
Через запятую? Так можно? Я из доков не понял.
Vlad
В доке написано что через запятую, в примерах есть списком
Alexander
Правильно я понимаю, что оба опубликованы: 0.0.0.0:8000-8001->8000-8001/tcp ?
Alexander
Приложение только на одном, он откликается
Alexander
Ну да, netstat так и говорит
Alexander
Спасибо. А примеров я, всё-таки, не нашёл.
Timur
Неплохо поконкретнее сформулировать суть задачи
Алексей
Неплохо поконкретнее сформулировать суть задачи
Думаю вполне конкретная задача - управление пользователями на хостах и их окружением. Попробуйте создать пользователя через ансибл и у вас запросит группу. Если самому писать обёртку над ансибловским user то это велосипедно. Думаю эти вопросы уже порешали давно. Только мне вот не нагуглилось пока
Алексей
использую https://galaxy.ansible.com/singleplatform-eng/users
Благодарю, сегодня посмотрю
Stepan T.
FreeIPA разверни и не парь людям мозг.
Stepan T.
RHEL IdM
Alex
FreeIPA разверни и не парь людям мозг.
Это для большого количества машин. А для внешних машин и\или если их не больше штук 10, то можно типо так: --- - hosts: "{{ hosts|default('all') }}" become: yes vars: action_state: "{{ state|default('present') }}" keydirpath: "{{ keypath|default('/company_name/ssh_keys') }}" usernameset: "{{ username|default('') }}" tasks: - name: Retrieving all user names from directory local_action: shell echo "{{ item | regex_replace('.pub', '') | regex_replace('.*/', '') }}" register: usernames with_fileglob: - "{{ playbook_dir }}/{{ keydirpath }}/*.pub" when: usernameset == '' - name: Set usernameset local_action: shell echo "{{ item }}" register: usernames1 with_items: - "{{ usernameset }}" when: usernameset != '' - name: Manage users user: name="{{ item.stdout }}" comment="{{ item.stdout }}@example.org" groups="users,wheel" state="{{ action_state }}" with_items: - "{{ usernames.results }}" when: usernameset == '' - name: Deploying users ssh key authorized_key: user={{ item.stdout }} key="{{ lookup('file', playbook_dir + '/' + keydirpath + '/' + item.stdout + '.pub' ) }}" state="{{ action_state }}" with_items: - "{{ usernames.results }}" when: usernameset == '' - name: Manage users manual user: name="{{ item.stdout }}" comment="{{ item.stdout }}@example.org" groups="users,wheel" state="{{ action_state }}" with_items: - "{{ usernames1.results }}" when: usernameset != '' - name: Deploying users ssh key manual authorized_key: user={{ item.stdout }} key="{{ lookup('file', playbook_dir + '/' + keydirpath + '/' + item.stdout + '.pub' ) }}" state="{{ action_state }}" with_items: - "{{ usernames1.results }}" when: usernameset != ''
Alex
@mobilesfinks
Stepan T.
А много/немного в цифрах на ваш взгляд? И только ли про машины?
Stepan T.
А то ведь много может быть пользователей.
Алексей
FreeIPA разверни и не парь людям мозг.
нафига мне разворачивать FreeIPA на 2-3 сервера?
Gleb
нафига мне разворачивать FreeIPA на 2-3 сервера?
2-3 сервера и для ипы еще 2-3 сервера и вот у тебя уже. 4-6 серверов!
Алексей
Это для большого количества машин. А для внешних машин и\или если их не больше штук 10, то можно типо так: --- - hosts: "{{ hosts|default('all') }}" become: yes vars: action_state: "{{ state|default('present') }}" keydirpath: "{{ keypath|default('/company_name/ssh_keys') }}" usernameset: "{{ username|default('') }}" tasks: - name: Retrieving all user names from directory local_action: shell echo "{{ item | regex_replace('.pub', '') | regex_replace('.*/', '') }}" register: usernames with_fileglob: - "{{ playbook_dir }}/{{ keydirpath }}/*.pub" when: usernameset == '' - name: Set usernameset local_action: shell echo "{{ item }}" register: usernames1 with_items: - "{{ usernameset }}" when: usernameset != '' - name: Manage users user: name="{{ item.stdout }}" comment="{{ item.stdout }}@example.org" groups="users,wheel" state="{{ action_state }}" with_items: - "{{ usernames.results }}" when: usernameset == '' - name: Deploying users ssh key authorized_key: user={{ item.stdout }} key="{{ lookup('file', playbook_dir + '/' + keydirpath + '/' + item.stdout + '.pub' ) }}" state="{{ action_state }}" with_items: - "{{ usernames.results }}" when: usernameset == '' - name: Manage users manual user: name="{{ item.stdout }}" comment="{{ item.stdout }}@example.org" groups="users,wheel" state="{{ action_state }}" with_items: - "{{ usernames1.results }}" when: usernameset != '' - name: Deploying users ssh key manual authorized_key: user={{ item.stdout }} key="{{ lookup('file', playbook_dir + '/' + keydirpath + '/' + item.stdout + '.pub' ) }}" state="{{ action_state }}" with_items: - "{{ usernames1.results }}" when: usernameset != ''
👍
Stepan T.
Тогда конечно. Пользуйтесь ролью выше. Главное не проспите тот момент, когда на ваших двух серверах станет по 50 локальных пользователей.
Alex
Тогда конечно. Пользуйтесь ролью выше. Главное не проспите тот момент, когда на ваших двух серверах станет по 50 локальных пользователей.
если у них всего 2 человека и пару машин, idm избыточен. Хватит нагнетать. Если у них сотни машин и стони юзеров и они будут этим плейбуком управлять доступами, то ССЗБ.
Stepan T.
если у них всего 2 человека и пару машин, idm избыточен. Хватит нагнетать. Если у них сотни машин и стони юзеров и они будут этим плейбуком управлять доступами, то ССЗБ.
Я отвык от мест, где мало пользователей. Чаще всего бывает, что у ребят какой-то виндовый домен АД, они хотят давать или не давать доступ к линуксовым серверам и как-то распределять права, для этого ребята костыляют миграцию пользователей АД в локальных пользователей на линуксовых серверах. Ибо sssd почему-то с первой попытки не взлетел.
Stepan T.
И в результате рождаются какие-то монструазные костыли. Кстати, сам по себе IdM это именно такой замок из костылей.
inqfen
Управляю доступом плейбуками, но нужно всего на 5 человек
inqfen
Больше надо минимум ldap заводить
Stepan T.
IdM это и есть 389DS
Stepan T.
Одна из реализаций LDAP
Eduard
катайте сразу freeipa
Stepan T.
=)
Eduard
она и с АД дружит
Eduard
и sssd
Eduard
и куча плюшек для тонких клиентов
Алексей
Я отвык от мест, где мало пользователей. Чаще всего бывает, что у ребят какой-то виндовый домен АД, они хотят давать или не давать доступ к линуксовым серверам и как-то распределять права, для этого ребята костыляют миграцию пользователей АД в локальных пользователей на линуксовых серверах. Ибо sssd почему-то с первой попытки не взлетел.
Ну это обычная практика и ошибка - судить по себе о других. Я вполне конкретный вопрос задал. По количеству пользователей я и без вас вполне в курсе что где и как. Если бы мне нужно было управлять сотней аккаунтов пользователей я бы так и спросил. Дайте мне для Много. У нас в компании все линуксовые сервера подключены в AD, или будут подключены. Админам даны sudo, пользователям даны ограниченные права. Всё раскатывается одной ролью для настройки sssd
Алексей
Ну, тогда вам выше ссылку на роль по управлению локальными пользователями, группами и ссш-ключами дали.
Да, я уже посмотрел. Вполне просто и аккуратно сделано. Попробую в работе.
Stepan T.
Хотя, если у вас есть AD, значит у вас все сотрудники там заводятся, там же раздаются права. IdM позволяет настроить доверительные отношения между доменами организовать и разрулить права доступа так, чтобы создание пользователя в АД с соответствующими атрибутами автоматически прикрутит к пользователю линуксовые настройки, которые вам нужны. Ключи ССШ, права доступа к серверам и службам на них. Прочее в этом духе.
Stepan T.
В общем дело вкуса, наверное. Хотите иметь на серверах локальных пользователей, которые создаются системой управления конфигурацией — это один из привычных способов.
Алексей
В общем дело вкуса, наверное. Хотите иметь на серверах локальных пользователей, которые создаются системой управления конфигурацией — это один из привычных способов.
У нас авторизация идёт в AD напрямую. При этом локально создаётся пользователь. Всё что нужно настроено в параметрах sssd
Stepan T.
Ладно, авторизация идёт, но права доступа то как рулятся?
Алексей
Ладно, авторизация идёт, но права доступа то как рулятся?
по группам и подкидываются соответствующие sudoers конфиги.
Stepan T.
А зачем тогда локальные пользователи?
inqfen
IdM это и есть 389DS
idm системы это таки больше чем просто ldap
Stepan T.
Ага. Я знаю. Каталог - это то место где хранится информация о сущностях системы.
Zhyhanov
подскажите такой момент, мы може регить таким образом и потом на него ссылаться с помощью when
Zhyhanov
например: register: user_{{ db_user }} ...... when: not user_{{ db_user }}.stat.exists
Zhyhanov
??
bebebe
например: register: user_{{ db_user }} ...... when: not user_{{ db_user }}.stat.exists
да. только вам не хватает ковычечек --- - hosts: localhost gather_facts: false vars: somevar: abc tasks: - shell: echo hello world register: "foobar_{{somevar}}" - debug: var: "foobar_{{somevar}}" when: "'hello world' in foobar_{{somevar}}.stdout"
bebebe
Спасибо большое, буду пробовать
не надо пробовать. я попробовал за вас
simplemice.eth
https://www.redhat.com/en/events/ansible-automates-moscow-2018
simplemice.eth
желающие есть?
matt
а где ценник
Vadim
бесплатно, то есть даром. Но надо регистрироваться, места ограничены
simplemice.eth
а где ценник
оно всегда было бесплатным, главное успеть попасть
simplemice.eth
регу могут и не одобрить
matt
доклады на русском?
Artur
похоже да
simplemice.eth
нифакт господа
Vadim
roadshows организовываются местными обычно, может кого пригласят
𝚔𝚟𝚊𝚙𝚜
Так, а кто-нибудь GUI прикручивал к ансиблу?
𝚔𝚟𝚊𝚙𝚜
Какой самый адекватный? - AWX чет не впечатлил :-/
simplemice.eth
почему вы так все ненавидите консоль? она же хорошая...
𝚔𝚟𝚊𝚙𝚜
я? - обожаю!
𝚔𝚟𝚊𝚙𝚜
нет интерфейса удобнее
simplemice.eth
ну вот и готовь бургеры! :) а о гуи нислова! )
𝚔𝚟𝚊𝚙𝚜
но к сожалению не все разделяют это мнение :(
𝚔𝚟𝚊𝚙𝚜
им бы в кнопочки потыкать
simplemice.eth
авх осень харашо... ну и тауэр :)
𝚔𝚟𝚊𝚙𝚜
кроме того еще в бекграунде хочется плейбуки запускать
simplemice.eth
там эта... крон говорят завезли несколько лет назад....
𝚔𝚟𝚊𝚙𝚜
а как же процесс трекать, графики смотреть, обязательно круглые!
simplemice.eth
прометей твой друг
𝚔𝚟𝚊𝚙𝚜