Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    Как справляться с непривилегированными контейнерами и большими UID/GID?

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Как справляться с непривилегированными контейнерами и большими UID/GID?, Proxmox Виртуальная Среда
     
    Judge
    Guest
    #1
    0
    14.07.2021 17:49:00
    Привет всем, у меня возникла проблема: наш центральный сервис аутентификации (FreeIPA) использует достаточно большие UID/GID (диапазон от 1546400000 до 1546600000), и не привилегированные контейнеры, похоже, не могут с этим справиться. Чтобы это заработало, кажется, нужно вручную изменить две вещи для каждого хоста Proxmox и, что еще менее удобно, для каждого контейнера после его создания: На хосте: Согласовать /etc/subgid и /etc/subuid, чтобы в целом разрешить диапазоны на этом хосте. Для каждого контейнера: Добавить значения lxc.idmap в файл конфигурации контейнера после его создания (например, /etc/pve/lxc/109.conf). Я знаком с https://pve.proxmox.com/wiki/Unprivileged_LXC_containers и https://forum.proxmox.com/threads/c...be-mapped-in-an-unprivileged-container.49544/; но это "только" привело меня к следующей ручной (но рабочей) конфигурации: На хосте Proxmox я изменил /etc/subgid и /etc/subuid, чтобы оба содержали следующее: Код: root:100000:65536
    root:1546400000:200000 Конфигурацию контейнера я изменил так, чтобы она содержала следующее: Код: ...
    ostype: debian
    ...
    unprivileged: 1
    lxc.idmap: u 1546400000 1546400000 200000
    lxc.idmap: g 1546400000 1546400000 200000
    lxc.idmap: u 0 100000 65536
    lxc.idmap: g 0 100000 65536 До моих изменений я даже не мог войти по SSH, используя один из этих высоких ID: Код: Jul 14 15:16:38 idtestlxc sshd[332]: debug1: restore_uid: 0/0
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: temporarily_use_uid: 65534/65534 (e=0/0)
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: matching key found: RSA SHA256:P+Wm...
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
    Jul 14 15:16:38 idtestlxc sshd[332]: Accepted key RSA SHA256:P+Wm... found at /usr/bin/sss_ssh_authorizedkeys:1
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: restore_uid: 0/0
    Jul 14 15:16:38 idtestlxc sshd[332]: Postponed publickey for m.richter from 2a02:... port 57073 ssh2 [preauth]
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: userauth-request for user m.richter service ssh-connection method publickey [preauth]
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: attempt 2 failures 0 [preauth]
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: temporarily_use_uid: 65534/65534 (e=0/0)
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: restore_uid: 0/0
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: temporarily_use_uid: 65534/65534 (e=0/0)
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: matching key found: RSA SHA256:P+Wm...
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
    Jul 14 15:16:38 idtestlxc sshd[332]: Accepted key RSA SHA256:P+Wm... found at /usr/bin/sss_ssh_authorizedkeys:1
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: restore_uid: 0/0
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: auth_activate_options: setting new authentication options
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: do_pam_account: called
    Jul 14 15:16:38 idtestlxc sshd[332]: Accepted publickey for m.richter from 2a02:... port 57073 ssh2: RSA SHA256:P+Wm...
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: monitor_child_preauth: m.richter has been authenticated by privileged process
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: auth_activate_options: setting new authentication options [preauth]
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: monitor_read_log: child log fd closed
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: temporarily_use_uid: 1546500000/1546500000 (e=0/0)
    Jul 14 15:16:38 idtestlxc sshd[332]: fatal: initgroups: m.richter: Invalid argument
    Jul 14 15:16:38 idtestlxc sshd[332]: debug1: do_cleanup После этих изменений все работает без проблем: Код: Jul 14 16:27:39 idtestlxc sshd[263]: debug1: restore_uid: 0/0
    Jul 14 16:27:39 idtestlxc sshd[263]: debug1: temporarily_use_uid: 65534/65534 (e=0/0)
    Jul 14 16:27:39 idtestlxc sshd[263]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: matching key found: RSA SHA256:P+Wm...
    Jul 14 16:27:39 idtestlxc sshd[263]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
    Jul 14 16:27:39 idtestlxc sshd[263]: Accepted key RSA SHA256:P+Wm... found at /usr/bin/sss_ssh_authorizedkeys:1
    Jul 14 16:27:39 idtestlxc sshd[263]: debug1: restore_uid: 0/0
    Jul 14 16:27:39 idtestlxc sshd[263]: debug1: auth_activate_options: setting new authentication options
    Jul 14 16:27:39 idtestlxc sshd[263]: debug1: do_pam_account: called
    Jul 14 16:27:39 idtestlxc sshd[263]: Accepted publickey for m.richter from 2a02:... port 62995 ssh2: RSA SHA256:P+Wm...
    Jul 14 16:27:39 idtestlxc sshd[263]: debug1: monitor_child_preauth: m.richter has been authenticated by privileged process
    Jul 14 16:27:39 idtestlxc sshd[263]: debug1: auth_activate_options: setting new authentication options [preauth]
    Jul 14 16:27:39 idtestlxc sshd[263]: debug1: monitor_read_log: child log fd closed
    Jul 14 16:27:39 idtestlxc sshd[263]: debug1: temporarily_use_uid: 1546500000/1546500000 (e=0/0)
    Jul 14 16:27:39 idtestlxc sshd[263]: debug1: ssh_gssapi_storecreds: Not a GSSAPI mechanism
    Jul 14 16:27:39 idtestlxc sshd[263]: debug1: restore_uid: 0/0
    Jul 14 16:27:39 idtestlxc sshd[263]: debug1: PAM: establishing credentials
    Jul 14 16:27:39 idtestlxc sshd[263]: pam_unix(sshd:session): session opened for user m.richter by (uid=0)
    Jul 14 16:27:39 idtestlxc sshd[263]: User child is on pid 273
    Jul 14 16:27:39 idtestlxc sshd[273]: debug1: SELinux support disabled
    Jul 14 16:27:39 idtestlxc sshd[273]: debug1: PAM: establishing credentials
    Jul 14 16:27:39 idtestlxc sshd[273]: debug1: permanently_set_uid: 1546500000/1546500000
    Jul 14 16:27:39 idtestlxc sshd[273]: debug1: rekey after 134217728 blocks
    Jul 14 16:27:39 idtestlxc sshd[273]: debug1: rekey after 134217728 blocks
    Jul 14 16:27:39 idtestlxc sshd[273]: debug1: ssh_packet_set_postauth: called
    Jul 14 16:27:39 idtestlxc sshd[273]: debug1: active: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
    Jul 14 16:27:39 idtestlxc sshd[273]: debug1: Entering interactive session for SSH2.
    ...
    Jul 14 16:27:39 idtestlxc sshd[273]: debug1: Allocating pty.
    ...
    Jul 14 16:27:39 idtestlxc sshd[273]: Starting session: shell on pts/2 for m.richter from 2a02:... port 62995 id 0
    ... Так что, в целом, я понимаю, что нужно делать, чтобы это заработало. Но это очень странный и затрудняющий рабочий процесс — сначала создавать контейнеры с помощью всего нашего сценарного и развертывательного инструментария, а затем останавливаться, чтобы делать эти изменения в командной строке на хосте Proxmox после входа по SSH и продолжать развертывание только после этого... Разве нет лучшего способа? Я ожидал, что достаточно будет просто увеличить эти значения в /etc/subgid и /etc/subuid или что-то подобное на каждом хосте Proxmox, или установить значение по умолчанию для не привилегированных контейнеров, чтобы впоследствии можно было использовать его снова "как обычно". Спасибо за внимание! Жду ваших предложений.
     
     
     
    Gardouille
    Guest
    #2
    0
    08.11.2021 14:59:00
    Привет! Ты уже нашёл решение? Потому что да… довольно больно редактировать конфиги lxc один за другим ^^ Я пытался добавить содержимое lxc.idmap в файлы /usr/share/lxc/config, но пока безуспешно.
     
     
     
    Judge
    Guest
    #3
    0
    08.11.2021 15:12:00
    Когда ты видишь количество ответов на это сообщение, можешь представить, сколько помощи я уже получил... К сожалению, в итоге мне пришлось сделать эти изменения вручную.
     
     
     
    Gardouille
    Guest
    #4
    0
    08.11.2021 16:17:00
    Ок, тестирую небольшое решение. Я в основном (пока только) использую "старый" шаблон LXC, основанный на одном из шаблонов, предоставленных Proxmox, например, debian-11-standard_11.0-1_amd64.tar.gz (с http://download.proxmox.com/images/system/). И у меня та же проблема: нужно модифицировать файл /etc/pve/lxc/CT_ID.conf для каждого нового контейнера LXC. Но… если я использую "новое" решение с шаблонами LXC (оно не очень хорошо документировано для LXC, но довольно похоже на шаблоны и клоны KVM - https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_copy_and_clone): создаю новый контейнер LXC и обновляю конфигурацию под свои нужды (lxc.idmap, автозагрузка и т.д.). Превращаю этот контейнер LXC в шаблон ( правый клик -> "Превратить в шаблон"). Обратить это действие нельзя! Создаю новый контейнер LXC, клонируя шаблон (ссылку или полную). Новый контейнер LXC унаследует конфигурацию LXC от шаблона (lxc.idmap, вложенность и т.д.)! Мастер клонирования минималистичный, мне нужно вручную редактировать MAC-адрес, процессор, оперативную память и т.д., если мне нужно что-то отличное от шаблона. Вот и всё! Да, это не идеально. Поле "Дополнительно" в мастере для прямого обновления процессора, оперативной памяти и т.д. было бы очень кстати. Нужны более глубокие тесты, но выглядит многообещающе.
     
     
     
    JaySee
    Guest
    #5
    0
    23.09.2022 18:07:00
    По крайней мере, для MAC-адреса, похоже, что вы можете просто удалить указанный в шаблоне, и при клонировании будет сгенерирован новый. Так что строка выглядит примерно так: Code: net0: name=eth0,bridge=vmbr1,ip=dhcp,type=veth
     
     
     
    vtex
    Guest
    #6
    0
    02.09.2023 17:10:00
    Я полагаю, вы также можете изменить диапазоны идентификаторов по умолчанию в FreeIPA на значения меньше 65536. Это стоит учесть при первой установке сервера FreeIPA. Позже это становится настоящей головной болью.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры