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