Привет всем. Ниже представлено мое решение для автоматического добавления пользователей Proxmox из базы данных LDAP. Я написал этот Ruby-скрипт, так как мне стало неудобно добавлять пользователя в свою LDAP-базу, а затем вручную переходить в 20+ кластеров Proxmox и добавлять пользователей в область. Это больше не было для меня вариантом. Итак, что делает этот Ruby-скрипт: он подключается к моему LDAP-серверу и ищет пользователей в группе proxmoxusers. Затем он перебирает участников в списке и добавляет их как пользователей в Proxmox в области LDAP, а затем добавляет их в группы администраторов. Вам нужно будет отредактировать настройки для DC, имен пользователей и паролей. Затем я использую crontab, чтобы вызывать скрипт каждый час для добавления новых пользователей. Обратите внимание, что я не беспокоюсь о безопасности, так как все это происходит в частных сетях и с ограниченными IP-адресами, так что, пожалуйста, будьте осторожны, как вы это запускаете. Я также не делаю проверку на наличие пользователя в Proxmox, он просто попытается добавить его снова; Proxmox просто не добавит, если он уже добавлен. Надеюсь, это поможет. Как указано на изображении, мой LDAP-сервер имеет организационную единицу (OU) под названием groups; у меня также есть posix-группа под названием proxmoxusers Distinguished Name: cn=proxmoxusers,ou=groups,dc=example,dc=co,dc=za 1-й шаг. -> В интерфейсе Proxmox Персонал -> Разрешения -> Аутентификация -> Добавить LDAP-сервер Область: ldap Сервер: <ldap_server_ip_or_hostname> Основное доменное имя: ou=users,dc=example,dc=co,dc=za Имя атрибута пользователя: uid 2-й шаг -> В консоли Proxmox Host Код: # apt install git python-mysqldb sshpass nano sudo ruby # gem install net-ldap # pveum groupadd admin -comment "Системные администраторы" # pveum aclmod / -group admin -role Administrator # echo "$((RANDOM%60)) */1 * * * root /media/atsscripts/getusercheck_proxmox.rb >/dev/null 2>&1" >> /etc/crontab Код: # mkdir /media/atsscripts/ # nano /media/atscripts/getusercheck_proxmox.rb { #Добавьте ниже #============================================================ #!/usr/bin/env ruby #gem install net-ldap require 'rubygems' require 'net/ldap' ldap = Net::LDAP.new :host => '<ldapserverip>', :port => 389, :auth => { :method => :simple, :username => "cn=admin, dc=example, dc=co, dc=za", :password => "<loginpassword>" } filter = Net::LDAP::Filter.eq( "cn", "proxmoxusers*" ) treebase = "ou=groups,dc=example, dc=co, dc=za" ldap.search( :base => treebase, :filter => filter ) do |entry| puts "DN: #{entry.dn}" entry.each do |attribute, values| p attribute if "#{attribute}" == "memberuid" puts " #{attribute}:" values.each do |value| system("pveum useradd #{value}@ldap -comment 'Добавлено через ATS Script'") system("pveum usermod #{value}@ldap -group admin") puts " --->#{value}" end end end end p ldap.get_operation_result #============================================================ #Добавьте выше } chmod 770 /media/atscripts/getusercheck_proxmox.rb
[РЕШЕНО] Руководство: Автоматическое добавление пользователей LDAP в Realm Proxmox в качестве администраторов, Proxmox Виртуальная Среда
|
20.10.2019 11:48:00
|
|
|
|
|
|
16.12.2019 10:19:00
See here ->
|
|
|
|
|
|
24.12.2019 12:36:00
LDAP-группа была запланирована для PVE 6.1, но мы всё ещё ждём.
|
|
|
|
|
Читают тему
