Khôi phục mật khẩu user, master password trên Odoo


Bạn sẽ làm gì nếu bạn quên mật khẩu? Chúng ta sẽ nghĩ ngay đến là tìm cách lấy lại nó? Vì mật khẩu là yếu tố quan  trọng xác định quyền truy cập hệ thống phần mềm ERP như trên Odoo. Bài viết này sẽ chỉ ra cho bạn cách khôi phục mật khẩu trên Odoo.

Trên Odoo tồn tại  3 loại mật khẩu đó là:

– Mật khẩu người dùng CSDL PostgreSQL (database User)
– Mật khẩu người dùng hệ thống (system user)
– Mật khẩu quản lý database (Master Password)

Sau đây chúng ta sẽ tìm hiểu các cách khôi phục lại mật khẩu ở trên nhé!

1. Khôi phục mật khẩu người dùng CSDL (database user) trên PostgreSQL

Điều kiện để khổi phục được mật khẩu là bạn phải có tài khoản admin của PostgreSQL như tài khoản postgres

Truy cập vào giao diện terminal của psql bằng các lệnh sau:

sudo su - postgres
psql

Sau đó tạo lại mật khẩu cho user. VD: user có tên là odoo

postgres=# \password odoo
Enter new password for user "odoo": 
Enter it again: 
postgres=# \q

2. Khôi phục mật khẩu người dùng hệ thống Odoo

Bước 1: Generate mật khẩu

Vì mật khẩu của User trên hệ thống Odoo đều đã được mã hóa một chiều bằng sha512 nên chúng ta không thể giải mã được mật khẩu của người dùng. Cách duy nhất là chúng ta reset lại mật khẩu bằng cách thay thế bằng mật khẩu của chúng ta.

Trên Odoo15 trở lên chúng ta tạo mật khẩu từ Python console.

python3
>>> from passlib.context import CryptContext
>>> setpw = CryptContext(schemes=['pbkdf2_sha512'])
>>> setpw.hash('123456')

Ví dụ trên là sinh mật khẩu là mã hash của mật khẩu “123456“. Sau khi tạo ra mật khẩu thì copy mã hash đã được tạo ra.

Bấm tổ hợp phim [Ctrl + D] để thoát khỏi Python Console.

Chú ý: Với version của thư viện passlilb < 2.0 thì chúng ta thay setpw.hash(‘123456’) thành setpw.encrypt(‘123456’)

Bước 2: Update mật khẩu người dùng bằng lệnh SQL trên PostgreSQL

Sau đó chúng ta truy cập tiếp vào PostgreSQL Console để chạy lệnh SQL update mật khẩu.

sudo su postgres
psql
postgres=# \connect <Your_Database_Name>
<Your_Database_Name>=# UPDATE res_users SET password='YourCopiedHash' WHERE id=2;
<Your_Database_Name>=# \q

Thông thường User có id = 2 là admin của Odoo. Còn nếu bạn chưa chắc chắn có thể login vào CSDL và xem danh sách user từ bảng res_users.

3. Khôi phục mật khẩu master password của odoo

Master password là mật khẩu để quản lý database với các thao tác tạo, xóa, duplicate, backup trên giao diện của Odoo. Để thay đổi mật khẩu này bạn chỉ cần thiết lập mật khẩu ở file odoo.conf vào tham số admin_password

Hoặc bạn comment tham số admin_password thì bạn không phải nhập master password nữa.

Kết luận

Với các giải pháp trên, đã giúp chúng ta có thêm hướng khôi phục trong trường hợp chúng ta bị mất hoặc quên mật khẩu. Các bạn còn cách gì hay thì vui lòng comment bên dưới nhé!

Nguồn: vinasupport.com

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web