Рубрики
Uncategorized

Изменение пользователей Enterptore GitHub из LDAP в локальный

Какой? Компания, которую я работаю в недавно разделенном нашей программной технике, часть … Теги с DevOps, GitHub, Enterprise.

Какой?

Компания, на которой я работаю в последнее время разделил все нашу программную техническую команду, часть других команд и обратно на людей в автономный независимый поставщик программного обеспечения. В настоящее время мы распределяем один экземпляр корпоративного набора GitHub на PROM и в рамках перехода, который мы перевели новый персонал компании в свой собственный Active Directory.

В отличие от других инструментов, у меня на месте, как Дженкинс или гавань, GitHub Enterprise поддерживает только с помощью одного сервера AD/LDAP (версия 3.0.4 на предмет публикации этого поста). Таким образом, 6 или около того, что цифровые маркетинговые разработчики остались позади в родительской компании, должны быть преобразованы из LDAP Auth в локальную аутентификацию.

К счастью, это возможно с GitHub Enterprise через этот параметр:

Но?

Вопрос в том, что учетные записи, которые ранее были помещены LDAP, так как этот параметр позволяет только для новых учетных записей.

Я попросил GitHub для инструкций о том, как преобразовать эти учетные записи, и они отправили мне несколько команд CHE-Console. И вот что они послали мне:

Если включено, временно отключите синхронизацию LDAP, чтобы предотвратить его повторное написание ассоциаций LDAP.

Подключитесь к серверу через SSH. Уничтожьте отображение LDAP для пользователей, которые вы хотели бы переключиться на встроенную аутентификацию и установить пароль по умолчанию для тех пользователей: (замените имя пользователя с фактическим именем пользователя GitHub пользователя и замените New_Password с временным паролем)

  ghe-console -y
  User.find_by_login("USERNAME").ldap_mapping.destroy
  pass = "NEW_PASSWORD"
  user = User.find_by_login("USERNAME")
  user.update_attributes(password: pass, password_confirmation: pass)
  exit

Убедитесь, что эти пользователи не в каталоге LDAP, прежде чем они попытаются снова войти в систему.

Повторно включите синхронизацию LDAP при необходимости.

Попросите пользователям обновлять пароли после входа в систему.

Без сомнения, это из их знаний группы поддержки. Проблема в том, что это бросает ошибки при попытке использовать код AS-IS.

Конечно, у меня было только несколько трассировков, чтобы выйти из этого за update_attributes :

Traceback (most recent call last):
        3: from /github/script/console:92:in `
' 2: from (irb):4 1: from /github/vendor/gems/2.7.1/ruby/2.7.0/gems/activemodel-6.1.0.rc1.8389f99/lib/active_model/attribute_methods.rb:469:in `method_missing' NoMethodError (undefined method `update_attributes' for #) Did you mean? update_attribute

Итак, я пытался изменить его на update_attribute. :

Traceback (most recent call last):
        4: from /github/script/console:92:in `
' 3: from (irb):4 2: from (irb):5:in `rescue in irb_binding' 1: from /github/vendor/gems/2.7.1/ruby/2.7.0/gems/activerecord-6.1.0.rc1.8389f99/lib/active_record/persistence.rb:612:in `update_attribute' ArgumentError (wrong number of arguments (given 1, expected 2))

Проклятие. Ну, это сорти выглядит Как я посылаю два аргумента вместо одного, так что происходит?

Так как я сейчас знаю, мы имеем дело с Ruby в Гу-консоль Я начинаю смотреть некоторые документы и узнать, что update_attribute Только один атрибут за один раз и любой формат, который я отправляю, это не нравится.

Я также смотрю на update_attributes И выяснить, что он был устарел. Тебе нужно только Обновление в этом случае. Так что я пытаюсь …| Обновление с тем же парам и работал:

user.update(password: pass, password_confirmation: pass)

Или то, что я изначально пробовал работать, используя другой синтаксис для отправки атрибутов, которые я видел в Обновление документация:

user.update(:password => pass, :password_confirmation => pass)

Кишечник?

В основном просто выбрали этот субтитры для рифмы с другими, но на самом деле используя вашу кишку, чтобы сделать такую отладку, это то, что я рекомендую. Чем дольше вы в этом бизнесе, тем больше опыта вы работаете против только странных сценариев, таких как выше. Мой продавец дал мне синтаксис, который был на самом деле устарел, но я использовал информацию, предоставленную мне для языка, у меня есть нулевой опыт, чтобы отладить, что делать дальше.

И я написал их обратно, чтобы они знали, чтобы обновить их знания.

Так что следуй по твоей кишечнике! Знайте, как посмотреть документы даже для вещей, о которых вы не знаете или языки, с которыми вы незнакомы.

Выводить. Эксперимент. Тестовое задание. Повторить. Это становится второй природой.

Оригинал: «https://dev.to/thebouv/changing-github-enterprise-users-from-ldap-to-local-278»