Jak zresetować hasło użytkownika bez dostępu do systemu CRM

Jak można szybko zresetować dostęp do dowolnego użytkownika systemu CRM bez dostępu do CRM przez przeglądarkę?
Jak szybko zresetować wszystkie hasła użytkowników CRM-a?

Istnieje kilka sposobów na szybki reset hasła, poniżej pokażemy te najprostsze i najszybsze.

1. Reset hasła za pomocą skryptu PHP (dostępne od wersji 4.3)

1.1 Pobieramy skrypt

Skrypt do resetu hasła pobieramy z repozytorium https://github.com/YetiForceCompany/YetiForceScripts/tree/master/PasswordReset

W zależności od metody wywołania wgrywamy do odpowiedniego katalogu. W poniższym przykładzie pliki CRM-a znajdują się w katalogu "/home/yfprod/html/"

wget -O /home/yfprod/html/PasswordReset.php https://raw.githubusercontent.com/YetiForceCompany/YetiForceScripts/master/PasswordReset/PasswordReset.php

Skrypt musi być na tych samych uprawnianiach (właściciel) co pliki CRM-a, w pokazanym przykładzie to jest "yfprod".

chown yfprod:yfprod /home/yfprod/html/PasswordReset.php

1.2 Wprowadzamy dane użytkownika

W pliku ustawiamy ID użytkownika lub jego nazwę oraz hasło na jakie ma być zmienione hasło (hasło powinno być zgodne z obowiązującymi wytycznymi).

Jeśli nie wprowadzimy hasła system wygeneruje je automatycznie.

$userId = 1;
$userName = ''; //Nazwa użytkownika, opcjonalnie
$password = ''; //Hasło, opcjonalnie

1.3 Uruchamiamy skrypt

Jeśli uruchamiamy skrypt przez przeglądarkę, to plik należy wgrać do katalogu public (jeśli web root jest ustawiony na ten katalog) i uruchomić adres CRM plus nazwa skryptu np. https://gitdeveloper.yetiforce.com/PasswordReset.php

Jeśli uruchamiamy skrypt z poziomu CLI, to skrypt wgrywamy do katalogu głównego i uruchamiamy plik.

php /home/yfprod/html/PasswordReset.php

1.4 Podsumowanie

Gdy zostanie prawidłowo zmienione hasło skrypt wyświetli dane użytkownika oraz nowe hasło.

Login: admin27038
Password: APcbCr4Bef
Full name: Administrator Yeti

Gdy wystąpi błąd system pokaże komunikat błędu np.

App\Exceptions\Security: Minimum password length 8 characters in /home/yfprod/html/modules/Vtiger/uitypes/Password.php:21
Stack trace:
#0 /home/yfprod/html/modules/Users/models/Record.php(233): Vtiger_Password_UIType->validate()
#1 /home/yfprod/html/modules/Users/models/Record.php(188): Users_Record_Model->getValuesForSave()
#2 /home/yfprod/html/modules/Users/models/Record.php(169): Users_Record_Model->saveToDb()
#3 /home/yfprod/html/PasswordReset.php(43): Users_Record_Model->save()
#4 {main}
Login: admin27038
Password: xxx
Full name: Administrator Yeti

2. Reset hasła za pomocą YetiForce CLI (dostępne od wersji 6.2)

Dostęp do CLI jest tylko na użytkowniku, który jest właścicielem plików CRM-a.

2.1 Generowanie nowego hasła

php cli.php -m Users -a resetPassword -l guest -c

2021-08-18_15-34-29.png

2.2 Hasło jako parametr

php cli.php -m Users -a resetPassword -l guest -p p@ssw0rD

2021-08-18_15-37-22.png

Gdy wystąpi błąd system pokaże komunikat błędu np.

2021-08-18_15-32-14.png

2021-08-18_15-37-07.png

2.3 Możliwe parametry

 2021-08-18_15-45-28.png

2. Reset hasła wszystkich użytkowników za pomocą YetiForce CLI (dostępne od wersji 6.2)

Jest możliwość zresetowania danych dostępowych wszystkim użytkownikom i wysłanie nowego hasła na adresy mail użytkowników za pomocą jednego polecenia.

php cli.php -m Users -a resetAllPasswords

 2021-08-18_15-47-24.png