Перейти к содержанию

Сброс паролей (включая SQL)

Учетная запись администратора animails

Сбрасывает пароль учетной записи администратора animails на случайный. В старых установках animails скрипт animails-reset-admin.sh может находиться в корневом каталоге animails (animails_path).

cd animails_path
./helper-scripts/animails-reset-admin.sh

Сброс паролей MySQL

Остановите стек, выполнив:

docker compose stop
docker-compose stop

Когда контейнеры остановятся, выполните эту команду:

docker compose run --rm --entrypoint '/bin/sh -c "gosu mysql mysqld --skip-grant-tables & sleep 10 && mysql -hlocalhost -uroot && exit 0"' mysql-animails
docker-compose run --rm --entrypoint '/bin/sh -c "gosu mysql mysqld --skip-grant-tables & sleep 10 && mysql -hlocalhost -uroot && exit 0"' mysql-animails

1. Поиск имени базы данных

# source animails.conf
# docker compose exec mysql-animails mysql -u${DBUSER} -p${DBPASS} ${DBNAME}
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| animails_database   | <=====
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)

2. Сброс одного или нескольких пользователей

2.1 MariaDB < 10.4 (старые установки animails)

Существуют оба поля: "password" и "authentication_string". В настоящее время используется "password", но лучше установить оба.

MariaDB [(none)]> SELECT user FROM mysql.user;
+--------------+
| user         |
+--------------+
| animails      | <=====
| root         |
+--------------+
2 rows in set (0.00 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> UPDATE mysql.user SET authentication_string = PASSWORD('gotr00t'), password = PASSWORD('gotr00t') WHERE User = 'root';
MariaDB [(none)]> UPDATE mysql.user SET authentication_string = PASSWORD('mookuh'), password = PASSWORD('mookuh') WHERE User = 'animails' AND Host = '%';
MariaDB [(none)]> FLUSH PRIVILEGES;

2.2 MariaDB >= 10.4 (текущие версии animails)

MariaDB [(none)]> SELECT user FROM mysql.user;
+--------------+
| user         |
+--------------+
| animails      | <=====
| root         |
+--------------+
2 rows in set (0.00 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> ALTER USER 'animails'@'%' IDENTIFIED BY 'mookuh';
MariaDB [(none)]> ALTER USER 'root'@'%' IDENTIFIED BY 'gotr00t';
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'gotr00t';
MariaDB [(none)]> FLUSH PRIVILEGES;

Удаление двухфакторной аутентификации

Для веб-интерфейса animails:

Процесс аналогичен сбросу пароля MySQL, но в данном случае мы выполняем это с хоста без подключения к CLI MySQL:

source animails.conf
docker compose exec mysql-animails mysql -u${DBUSER} -p${DBPASS} ${DBNAME} -e "DELETE FROM tfa WHERE username='ВАШ_ЛОГИН';"

Для SOGo:

docker compose exec -u sogo sogo-animails sogo-tool user-preferences set defaults user@example.com SOGoGoogleAuthenticatorEnabled '{"SOGoGoogleAuthenticatorEnabled":0}'