Итак на работе возникла проблема, что от ранее существовавшего системного администратора остался один единственный сервис OpenFire 4.6.0
от которого нет в KeePass
доступов в Web
-панель администрирования. К тому же это очень интересная часть, разобрать как добавить еще одного администратора.
Шаг №1:
Сервис корпоративного обмена сообщениями был установлен опираясь на заметку "Внедряем корпоративный чат openfire + AD на Ubuntu 18.04"
Шаг №2:
Сервис корпоративного обмена сообщения был обновлен с версии 4.4.4
на 4.6.0
опираясь на заметку "Как обновить OpenFire 4.4.4 до 4.6.0"
Шаг №3:
Но вот доступа в https://IP&DNS:9091
нет и у кого, он либо потерян, либо те кто сейчас есть в команде IT не нацелены на выдачу логина и пароля, а хотят получить инструкцию как создать или сбросить пароль на текущего администратора сервиса.
Шаг №4:
Процедура создания еще одного администратора для доступа в Web
—консоль Openfire
следующая:
ekzorchik@srv-openfire:~$ sudo bash -c "cat /usr/share/openfire/conf/openfire.xml" | grep mysql <driver>com.mysql.cj.jdbc.Driver</driver> <serverURL>jdbc:mysql://127.0.0.1:3306/db_openfire?rewriteBatchedStatements=true&characterEncoding=UTF-8&characterSetResults=UTF-8&serverTimezone=UTC</serverURL> ekzorchik@srv-openfire:~$ ekzorchik@srv-openfire:~$ sudo mysql -u root -p712mbddr@ mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | db_openfire | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec) mysql> use db_openfire; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql>
Добавляю еще одного администратора сервиса Openfire
с Login: ekzorchik Password: 1234567
mysql> INSERT INTO `ofUser` (`username`, `storedKey`, `serverKey`, `salt`, `iterations`, `plainPassword`, `encryptedPassword`, `name`, `email`, `creationDate`, `modificationDate`) VALUES ('ekzorchik', '', '', '', '4096', '1234567', NULL, 'Administrator', 'ekzorchik@ekzorchik.ru', '001603571366279', '0'); Query OK, 1 row affected (0.01 sec) mysql> mysql> quit Bye ekzorchik@srv-openfire:~$
Шаг №5:
Останавливаю сервис Openfire:
ekzorchik@srv-openfire:~$ sudo systemctl stop openfire
Шаг №6:
Обозначаю в конфигурационном файле openfire
кто является администратором на доступ в Web
—консоль администрирования:
ekzorchik@srv-openfire:~$ sudo nano /usr/share/openfire/conf/openfire.xml <?xml version="1.0" encoding="UTF-8"?> <!-- This file stores bootstrap properties needed by Openfire. Property names must be in the format: "prop.name.is.blah=value" That will be stored as: <prop> <name> <is> <blah>value</blah> </is> </name> </prop> Most properties are stored in the Openfire database. A property viewer and editor is included in the admin console. --> <!-- root element, all properties must be under this element --> <jive> <adminConsole> <!-- Disable either port by setting the value to -1 --> <!-- <port>9090</port> --> <port>-1</port> <securePort>9091</securePort> </adminConsole> <admin> <authorizedUsernames>admin,ekzorchik</authorizedUsernames> <!--< authorizedJIDs>user1@servername< /authorizedJIDs> --> </admin> <locale>ru_RU</locale> <!-- Network settings. By default, Openfire will bind to all network interfaces. Alternatively, you can specify a specific network interfaces that the server will listen on. For example, 127.0.0.1. This setting is generally only useful on multi-homed servers. --> <!-- <network> <interface></interface> </network> --> <!-- One time token to gain temporary access to the admin console. --> <!-- <oneTimeAccessToken>secretToken</oneTimeAccessToken> --> <connectionProvider> <className>org.jivesoftware.database.DefaultConnectionProvider</className> </connectionProvider> <database> <defaultProvider> <driver>com.mysql.cj.jdbc.Driver</driver> <serverURL>jdbc:mysql://127.0.0.1:3306/db_openfire?rewriteBatchedStatements=true&characterEncoding=UTF-8&characterSetResults=UTF-8&serverTimezone=UTC</serverURL> <username encrypted="true">a24787957c5a545d77253deadc6629884e03769e49a6b9f9ad5a6b25dd86520e</username> <password encrypted="true">2b828bfd4bb9b3f6513da0016147887728aded54fa14f21f9d528a3751bd4e25</password> <testSQL>select 1</testSQL> <testBeforeUse>false</testBeforeUse> <testAfterUse>false</testAfterUse> <testTimeout>500</testTimeout> <timeBetweenEvictionRuns>30000</timeBetweenEvictionRuns> <minIdleTime>900000</minIdleTime> <maxWaitTime>500</maxWaitTime> <minConnections>5</minConnections> <maxConnections>25</maxConnections> <connectionTimeout>1.0</connectionTimeout> </defaultProvider> </database> <setup>true</setup> <fqdn>srv-openfire.polygon.lan</fqdn> </jive>
Шаг №7:
Запускаю сервис openfire
и проверяю, что сервис запустился и сервис ожидает подключения по порту на доступ к Web
—панели администрирования:
ekzorchik@srv-openfire:~$ sudo systemctl start openfire ekzorchik@srv-openfire:~$ sudo systemctl status openfire | head -n5 ● openfire.service - LSB: Start/stop openfire jabber server Loaded: loaded (/etc/init.d/openfire; generated) Active: active (running) since Tue 2021-01-12 20:39:17 MSK; 8s ago Docs: man:systemd-sysv-generator(8) Process: 1010 ExecStop=/etc/init.d/openfire stop (code=exited, status=0/SUCCESS) ekzorchik@srv-openfire:~$ ^C ekzorchik@srv-openfire:~$ sudo netstat -tulpn | grep openfire ekzorchik@srv-openfire:~$ sudo netstat -tulpn | grep :909* tcp6 0 0 :::9091 :::* LISTEN 1105/java ekzorchik@srv-openfire:~$
Шаг №8:
Проверяю, а могу ли я теперь авторизоваться в Web
—консоли администрирования Openfire
под еще одним администратором которого я выше добавил в базу db_openfire:
https://IP&DNS:9091 -
Username: ekzorchik
Password: 1234567
и нажимаю "Войти"
и вот я успешно авторизован под новой учетной записью которую добавил в таблицу базы db_openfire
с которой работает сервис OpenFire 4.6.0
Шаг №9:
Проверяю, сколько администраторов сервиса Openfire
сейчас:
https://IP&DNS:9091 - Login: ekzorchik Password: 1234567 - Пользователи/Группы - Пользователи
и вот я вижу двух администраторов:
отлично.
Шаг №10:
А если не добавлять еще одного пользователя с правами администратора, а изменить пароль у текущего дефолтного с Login:admin
ekzorchik@srv-openfire:~$ sudo mysql -u root -p712mbddr@ -e "use db_openfire;update ofUser set plainPassword='1234567', encryptedPassword=Null where username='admin';" mysql: [Warning] Using a password on the command line interface can be insecure. ekzorchik@srv-openfire:~$ ekzorchik@srv-openfire:~$ sudo systemctl restart openfire
Шаг №11:
Проверяю, что могу зайти в Web
—консоль администрирования OpenFire
через Login: admin Password: 1234567
https://IP&DNS:9091 - Login: admin Password: 1234567
и нажимаю "Войти"
успешно.
Что сейчас имеем, я разобрал, как через mysql
добавить еще одного администратора сервиса Openfire
и как изменить пароль на уже существующего. Вот теперь я подготовлен к работе с сервисом Openfire
и не завижу ни от кого. На этом заметка завершена, с уважением автор блога Олло Александр aka ekzorchik.