LINUX.ORG.RU

Сообщения Honey12345

 

Qt5 deploy проекта на другой рабочей станции.

Форум — Development

Добрый день. входные данные:
Рабочая станция: Ubuntu 18.04 Среда разработки Qt5.12.1 Приложение GUI для работы с postgresql
Приложение собирается динамически. Для переноса на другую рабочую станцию написал небольшое приложение которое берет вывод ldd nameapp разбирает и копирует в папку lib в папке с приложением все необходимые библиотеки. Структура приложения получилась следующая

  • Myapp/ - папка приложения
    • myapp - приложение
    • myapp.sh - скрипт запуска приложения
      • lib/ - папка для библиотек
      • platforms/ - папка плагинов Qt5

Создал скрипт для запуска приложения в котором основным является указание приложению где брать библиотеки

LD_LIBRARY_PATH=${dirname}/lib
export LD_LIBRARY_PATH
При переносе на рабочую станцию с такой же системой все отлично работает, а вот при переносе на более старую систему возникла проблема.

( читать дальше... )

Как видно из вывода, единственная библиотека которая берется не из моей папки библиотек /lib64/ld-linux-x86-64.so.2 (0x00007fb898b4b000) эта ссылка указывает на библиотеку /lib/x86_64-linux-gnu/ld-2.27.so Это системная библиотека в 18 ubuntu ld-2.27.so в 16 ubuntu ld-2.23.so в Debian 8 ld-2.19.so.
поэтому приложение и не работает на более старых системах. можно ли это как то обойти или единственный выход собрать приложение на более старой ОС , например 12 ubuntu ? Я так понимаю совместимость снизу вверх присутствует ?

 , ,

Honey12345
()

OpenLDAP sasl авторизация в Windows AD

Форум — Development

Добрый день форумчане. Зарегился специально на этом форуме, так как именно тут нашел несколько советов по решению своих проблем. На других форумах что то тишина по моим вопросам, либо я туповатые вопросы задаю либо нет ответа. Итак предыстория, всегда писал под Windows на Qt. Тут пришлось писать под Linux.

Рабочая станция Ubuntu18.04 среда разработки Qt5.12.1 домен Windows Server 2012 AD. Приложение GUI для работы с БД postgresql. Необходима авторизация пользователя в AD из приложения и запуск приложения при верной авторизации. Для авторизации использовал пакет OpenLDAP.Как устанавливал написал тут https://forum.qt.io/topic/100294/qt-linux-авторизация-в-ad/8 Авторизация заработала, правда она как бы двухступенчатая. Авторизация возможна только по DN (distinguish name), поэтому вначале биндимся к AD под какойни буть учеткой, потом ищем там пользователя по введенному логину, берем DN этого пользователя и пытаемся прибиндится с этим DN и паролем введенным пользователем. Но проблема в другом, вроде как OpenLDAP поддерживает механизмы sasl (GSSAPI/KERBEROS5) авторизации. Моя рабочая станция введена в домен и авторизована, получен билет и есть файл krb5.

  username@kubuntuit01:~$ sudo net ads testjoin
  Join is OK
  username@kubuntuit01:~$ sudo net ads keytab list
  Vno Type Principal
  2 des-cbc-crc HOST/kubuntuit01.mydomen.local@MYDOMEN.LOCAL
  2 des-cbc-crc HOST/KUBUNTUIT01@MYDOMEN.LOCAL
  2 des-cbc-md5 HOST/kubuntuit01.mydomen.local@MYDOMEN.LOCAL
  2 des-cbc-md5 HOST/KUBUNTUIT01@MYDOMEN.LOCAL
  2 aes128-cts-hmac-sha1-96 HOST/kubuntuit01.mydomen.local@MYDOMEN.LOCAL
  2 aes128-cts-hmac-sha1-96 HOST/KUBUNTUIT01@MYDOMEN.LOCAL
  2 aes256-cts-hmac-sha1-96 HOST/kubuntuit01.mydomen.local@MYDOMEN.LOCAL
  2 aes256-cts-hmac-sha1-96 HOST/KUBUNTUIT01@MYDOMEN.LOCAL
  2 arcfour-hmac-md5 HOST/kubuntuit01.mydomen.local@MYDOMEN.LOCAL
  2 arcfour-hmac-md5 HOST/KUBUNTUIT01@MYDOMEN.LOCAL
Пытаюсь авторизоваться используя sasl не выходит.

  LDAPAsynConnection * sas;
  sas = new LDAPAsynConnection();
  sas->init("dc.mydomen.local",389);
  sas->saslBind("GSSAPI","uid=HOST/KUBUNTUIT01,cn=MYDOMEN.LOCAL,cn=gssapi,cn=auth",cons);

Первый параметр в строке биндинга верный, так как при указании другого, сервер выдает ошибку о неверном механизме авторизации. второй параметр - std::string&cred - значение авторизации. Если его оставить пустым то сервер возвращает ответ об ожидании следующего запроса со значением cred. Что я только не пробовал туда запихать, но всегда получаю ответ сервера : 80090308: LdapErr: DSID-0C0904DC, comment: AcceptSecurityContext error, data 57, v1db1 Код ошибки 49 : Invalid credentials (49) Ясно что неверные данные авторизации. Может кто подскажет что там указывать ? Нужна автоматическая авторизация если машина в домене и пользователь авторизован. Спасибо.

 , ,

Honey12345
()

RSS подписка на новые темы