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.
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
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
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
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
Dostęp do CLI jest tylko na użytkowniku, który jest właścicielem plików CRM-a.
php cli.php -m Users -a resetPassword -l guest -c
php cli.php -m Users -a resetPassword -l guest -p p@ssw0rD
Gdy wystąpi błąd system pokaże komunikat błędu np.
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