LINUX.ORG.RU
решено ФорумAdmin

Информационная система с tomcat - неверный логин и пароль.

 ,


0

1

Доброго времени суток.
Получили мы для теста информационную систему (писанную достаточно крупной в рфии компанией, но не для нас конкретно) в формате .ova (там centos 6.7) экспортированном из virtualbox (sic!). Естественно, никто продуктив крутить в virtualbox не собирается, поковырял .ovf и развернул в vSphere, но и на vbox параллельно тоже. Суть ИС не важна, используется tomcat и orient в качестве СУБД. В самопальной документации указан логин и пароль для административного доступа к веб интерфейсу этой ИС. Если подключаться к машине на vbox с ее дефолтной сетью (192.168.56.0/24 емнип), то логин и пароль прекрасно подходят, если подключаться к машине на ESXi (где изменены сетевые настройки) - то получаю сообщение о неверном логине и пароле. «Саппорт» той конторы, которая распространяет эту ИС (это не разработчик) говорит «ну надо переразворачивать машину из ova», логика железная, б*я, в общем от них помощи ждать не приходится. Очевидно, что разница только в сетевой конфигурации машин, но по скольку сам я просто офигенный специалист по работе со всяческими веб сервисами (jk, никогда в жизни не работал с этой сферой), найти ограничения в конфигах (server.xml, web.xml) не смог, в /opt/tomcat7/Catalina/localhost пусто. В access логе (/opt/tomcat7/logs/localhost_access_log.2016-12-27.txt) ничего кроме

127.0.0.1 - - [27/Dec/2016:17:30:57 +0600] "POST /atcfs/files?fileName=test HTTP/1.1" 201 36
127.0.0.1 - - [27/Dec/2016:17:30:57 +0600] "GET /atcfs/files/2f98c1f2-6682-46b2-b095-b625d51133d9 HTTP/1.1" 200 4
Может кто подскажет где искать-то.

грепать (grep -r) пробовал?

Deleted
()

Так привязка может быть в логике приложения.

Deleted
()

В server.xml ищешь подобную запись

<Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
Смотришь путь (здесь conf/tomcat-users.xml)

anonymous
()
Ответ на: комментарий от ya-betmen

Спасибо всем за ответы.
>Разве vSphere не умеет в ova?
Умеет, просто .ova был экспортирован из vbox, соответственно в .ovf указан vm HW версия и виртуальное оборудование, о котором vSphere не знает, т.е. нужно открывать .ova и править .ovf. Я делал ручками, в моем случае правил virtualbox-2.2 на vmx-08 (собственно, указывается любая версия vmx, поддерживаемая вашим ESXi), удалил звуковую карту, изменил тип дискового контроллера с SATA на SCSI. Емнип, есть инструмент т.н. ovftool, т.е. можно как-то автоматизировать этот процесс, но если случай единичный - проще руками.



>грепать (grep -r) пробовал?
Грепал вхождения '192.168.56' и получил множество ссылок на логи wildfly (/opt/wildfly/standalone/log/server.log.xxxx), как то:

ERROR [com.ats.vis.rest.config.ResponseStatusProvider] (default task-10) [IP:192.168.56.101] [__MAIN_WS__] REST API ERROR: Invalid user name or password
ERROR [com.ats.vis.rest.config.ResponseStatusProvider] (default task-8) [IP:192.168.56.101] [__MAIN_WS__] REST API ERROR: Invalid user name or password
WARN  [com.ats.vis.rest.config.RestInvokeTimeInterceptor] (default task-4) [IP:192.168.56.101] [__MAIN_WS__] REST INVOKE PROBLEM java.lang.Exception: Something went wrong REQUEST_TIME not exist
WARN  [com.ats.vis.utils.LoggerUtils] (default task-13) [IP:192.168.56.101] [__MAIN_WS__] PersistedVisConfig read error. Returned defaultValue: getMixedDocumentResult -> false
 WARN  [com.ats.vis.utils.LoggerUtils] (default task-13) [IP:192.168.56.101] [__MAIN_WS__] PersistedVisConfig read error. Returned defaultValue: getResultsFromSOLR -> false
ERROR [com.ats.vis.services.DataQueryService] (default task-2) [IP:192.168.56.101] [__MAIN_WS__] Failed to query Solr server: org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: sort param field can't be found: key_username_t_sort
ERROR [com.ats.vis.rest.config.ResponseStatusProvider] (default task-11) [IP:192.168.56.101] [__MAIN_WS__] REST API ERROR: Failed to query Solr server
WARN  [com.ats.vis.rest.config.RestInvokeTimeInterceptor] (default task-11) [IP:192.168.56.101] [__MAIN_WS__] REST INVOKE COMPLETE IN 2 SEC FOR PATH http://192.168.56.102:8080/rest/data/entity
Скажу, что vm в virtualbox (на которой проблем с доступам в ИС нет) взяла адрес 182.168.56.102.



>В server.xml ищешь подобную запись
Есть такая запись:

<Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />

Т.е. путь также «conf/tomcat-users.xml». Содержание (без первого комментария):
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<!--
  NOTE:  By default, no user is included in the "manager-gui" role required
  to operate the "/manager/html" web application.  If you wish to use this app,
  you must define such a user - the username and password are arbitrary.
-->
<!--
  NOTE:  The sample user and role entries below are wrapped in a comment
  and thus are ignored when reading this file. Do not forget to remove
  <!.. ..> that surrounds them.
-->
<!--
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
-->
</tomcat-users>

nokogerra
() автор топика
Ответ на: комментарий от nokogerra

Скажу, что vm в virtualbox (на которой проблем с доступам в ИС нет) взяла адрес 182.168.56.102.

Извиняюсь, адрес 192.168.56.102


Пробовал искать вхождения в конфиг файлах:

grep -r --include="*.xml" "192.168.56" /opt/

Ничего не найдено.

nokogerra
() автор топика
Ответ на: комментарий от ya-betmen

Похоже что на той же (в поставке один .ova).

[root@energ ~]# ps aux | grep sol
root      4600  0.0  0.0 103328   928 pts/1    S+   12:16   0:00 grep sol
Но на рабочей vm (виртуалбокс) результат тот же.
Пытался запустить (инит скриптом), получил огромный вывод, в том числе:
[main] WARN  org.eclipse.jetty.util.component.AbstractLifeCycle  – FAILED SocketConnector@0.0.0.0:8983: java.net.BindException: Адрес уже используется java.net.BindException: Адрес уже используется
ERROR org.apache.solr.core.SolrCore  – [vis_test] Solr index directory '/opt/solr/example/solr/vis_test/data/index/' is locked.  Throwing exception
ERROR org.apache.solr.core.CoreContainer  – Unable to create core: vis_test
solr в ps все равно не видно.

nokogerra
() автор топика
Ответ на: комментарий от nokogerra

Емнип солар работает как сервлет, т.е. крутится внутри какого нить томката, поэтому грепом может и не найтись, посмотри нетстатом кто на каких портах живет (особенно где жаба сидит). Диффни выводы нетстата на вб и вс.

ya-betmen ★★★★★
()
Ответ на: комментарий от ya-betmen

Начал сравнивать нетстаты, и мне коллега подсказал на что еще обратить внимание. После развертывания vm в ESXi интерфейсы назывались не eth0 и eth1, а eth2 и eth3, вероятно потому, что у VMware свой OUI для MAC (ну и маки новые), а в udev числятся старые маки. Я интерфейсы переименовал с помощью 'ip link' и благополучно забыл. Вероятно, сервисы слушают определенные интерфейсы, и не запустились при старте системы. Решил ребутнуть машину и посмотреть, сохранятся ли изменения, внесенные утилитой 'ip' - не сохранились. Более того, при загрузки машины (загрузка достаточно долгая) заглянул в альтернативный терминал по F1 и увидел вот что http://i87.fastpic.ru/big/2016/1228/b1/c84698931a754bd5776591d52a38a9b1.png. Буду читать как в udev исправить имена сетевых интерфейсов.

nokogerra
() автор топика
Ответ на: комментарий от nokogerra

а простой правки /etc/sysconfig/network-scripts/ifcfg-*

не достаточно штоле? Ну и сам файл тож должен называться именем интерфейса.

PunkoIvan ★★★★
()
Ответ на: комментарий от PunkoIvan

а простой правки /etc/sysconfig/network-scripts/ifcfg-*

не достаточно штоле? Ну и сам файл тож должен называться именем >интерфейса.

Нет, не достаточно, интерфейс будет называться именно так, как указано в /etc/udev/rules.d/70-persistent-net.rules) соответственно MAC`у.

Касательно моей проблемы - очень странно. Теперь при загрузке нет ругани на отсутствие eth0, но после старта на интерфейсе висит адрес 192.168.56.102/24, хотя dhcp раздает из 10.12.0.0/24. Если постучаться на него - логин и пароль администратора также не подходят, как и раньше. После перезагрузки сетевой системы выдается адрес из 10.12.0.0/24 и логин/пароль снова не подходят. Вернулся к тому что было.
Думал, может адрес должен быть именно 192.168.56.102 (как на машине в vbox), но на vbox отключил/включил адаптер, получил адрес 192.168.56.104 - все работает.

nokogerra
() автор топика
Ответ на: комментарий от nokogerra

аа, так это известная проблема в виртуалках:

Нет, не достаточно, интерфейс будет называться именно так, как указано в /etc/udev/rules.d/70-persistent-net.rules) соответственно MAC`у.

Когда клонируешь вируталки в коробке, то сеть не поднимается. Снеси

/etc/udev/rules.d/70-persistent-net.rules

и ребутнись.

PunkoIvan ★★★★
()
Ответ на: комментарий от PunkoIvan

да я уже сделал все, говорю же теперь все ок, в альтернативной консоли не ругается на eth0, т.к. eth0 есть в системе. Только сразу после старта eth0 имеет адрес не из моего dhcp пула (видимо, где-то кроме /etc/sysconfig/network-scripts/ifcfg-eth0 еще указан адрес), после рестарта network адрес из моего пула. Но как бы там ни было, устранение ошибки при загрузке, касающейся eth0, не решило мою проблему. Буду стараться правдами и неправдами связаться с разработчиком.

nokogerra
() автор топика
Ответ на: комментарий от nokogerra

но после старта на интерфейсе висит адрес 192.168.56.102/24
видимо, где-то кроме /etc/sysconfig/network-scripts/ifcfg-eth0 еще указан адрес

А /etc грепали? Потому что ведь явно где-то этот адрес в системе есть. Скорее всего так, сначала стартует сетевая система, получает адрес с dhcp, а позже какой-то костыль уже от разраба меняет его.

Думал, может адрес должен быть именно 192.168.56.102 (как на машине в vbox), но на vbox отключил/включил адаптер, получил адрес 192.168.56.104 - все работает.

Мне кажется права в системе «net+username+pass». Только где искать, я не знаю :)

Тут недавно тема была, самописный софт в котором разраб захардкодил ip, разраба нэма, исходников нэма. вопрос по клонированию физического сервера на KVM (комментарий)

anc ★★★★★
()
Ответ на: комментарий от anc

Спасибо всем за участие, проблема решена.
Переразвернул vm в ESXi, сразу убрал из rc.local ifconfig 192.168.56.102, изменил правила в udev и исправил ifcfg в network-scripts. Сейчас проблем с логином нет. Не ясно что изменилось, ведь все эти процедуры я проделал и в первый раз.

nokogerra
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.