openldap :можно принудительно запустить starttls с клиента?

Как указал Джефф Шаллер, bash не является текстовым процессором, хотя то, что вы просите, не представляет особой сложности. Итак, вот способ сделать это... чего бы это ни стоило.

$ awk '!/^#.*/ {
      ((++cnt[$1])); 
      if (cnt[$1]==1) 
          {min[$1]=max[$1]=$2} 
      else if ($2 < min[$1]) 
          { min[$1]=$2} 
      else if ($2 > max[$1]) 
          {max[$1]=$2}
      } 
      END {
          printf "%-10s%7s%10s%12s\n","Name","Count","Minimum", "Maximum";
          for (i in cnt) 
              printf "%-10s%7d%10.6g%12.8g\n", i,cnt[i],min[i],max[i];
          }' testdata 

Выход:

Name        Count   Minimum     Maximum
PION+           2  0.167848    1.374297
PION-           3  0.215176   22.716532
NEUTRON         2   8.04328   20.900103

Пояснение:

  • пропустить любую строку (запись ), которая начинается с#
  • увеличить cnt[$1] на 1 для каждой записи, начиная с 0 в начале awkвыполнения программы
  • Если значение первого поля "$1" текущей записи никогда ранее не встречалось, инициализируйте минимальное и максимальное значение для этого значения значением "$2".
  • в других случаях (когда значение "$1" встречалось хотя бы один раз в предыдущей записи ), обновить минимальное и максимальное значения
  • наконец, напечатайте с форматированием, чтобы учесть аспекты вашего примера вывода в OP.
2
10.11.2020, 20:26
1 ответ

Вы можете попробовать добавить расширенную операцию LDAP для STARTTLS в URI в файле конфигурации LDAP вашего клиента (, например. ~/.ldaprc или /etc/ldap/ldap.conf ).

URI ldap://<ldap-server>/????1.3.6.1.4.1.1466.20037

Кажется, мне это удалось. Хотя я обнаружил, что параметр TLS_REQCERT demandлибо перестает работать, либо я не совсем понимаю, как STARTTLS взаимодействует с параметрами сертификата в файлах конфигурации LDAP. т.е. Используя приведенную выше конфигурацию расширенной операции, я все еще видел, как сеанс пытается запустить STARTTLS, а затем не проходит проверку сертификата, а затем возвращается к открытому тексту.

ОБНОВЛЕНИЕ :Если добавить восклицательный знак (! )перед OID, то это, по-видимому, предотвращает возврат клиента к открытому тексту. Например.
URI ldap://<ldap-server>/????!1.3.6.1.4.1.1466.20037

Получается, что клиент (, например. ldapsearch )параметр командной строки:
-Z эквивалентно добавлению ????1.3.6.1.4.1.1466.20037к URI
-ZZ эквивалентно добавлению ????!1.3.6.1.4.1.1466.20037к URI
КОНЕЦ ОБНОВЛЕНИЯ

Ссылки с некоторыми подсказками:

https://lists.openldap.org/hyperkitty/list/openldap-devel@openldap.org/thread/SXWOL5SVSLWSNX35QFPVP6BPSLSHWOYG/#SXWOL5SVSLWSNX35QFPVP6BPSLSHWOYG
https://www.openldap.org/lists/openldap-devel/200202/msg00070.htmlhttps://ldapwiki.com/wiki/StartTLS
https://www.rfc-editor.org/rfc/rfc4511#page-40
https://git.openldap.org/search?utf8=%E2%9C%93&snippets=false&scope=&repository_ref=master&search=LDAP_EXOP_START_TLS&group_id=13&project_id=1

2
18.03.2021, 22:50

Теги

Похожие вопросы