CẢNH BÁO :trust
có nghĩa là chính xác như vậy. Bất kỳ ai có thể kết nối với máy chủ PostgreSQL đều có thể kiểm soát nó. Nếu bạn đặt trust
chế độ cho phép người dùng cấp cao như người dùng postgres
(hoặc all
người dùng) để kết nối, họ có toàn quyền kiểm soát PostgreSQL của bạn và có thể cũng có thể chạy các lệnh shell. Bạn thường chỉ nên sử dụng nó để thay đổi mật khẩu sau đó khôi phục cấu hình trở lại chế độ xác thực bạn đã sử dụng trước đây.
Nếu bạn đã sử dụng tập lệnh trình cài đặt không được giám sát, mật khẩu sẽ nằm trong tập lệnh hoặc tệp cấu hình được liên kết.
Nếu không, hãy xử lý nó giống như khi bạn mất / quên mật khẩu chứ không phải là không bao giờ biết nó:
- Chỉnh sửa
pg_hba.conf
, đặt chế độ xác thực thànhtrust
thay vìmd5
mặc định - Trong bảng điều khiển Dịch vụ, hãy khởi động lại dịch vụ PostgreSQL
- Kết nối với
psql
hoặc PgAdmin hoặc bất cứ điều gì -
ALTER USER postgres PASSWORD 'mynewpassword';
- Chỉnh sửa
pg_hba.conf
một lần nữa và đặt lại chế độ xác thực thànhmd5
- Khởi động lại PostgreSQL một lần nữa
pg_hba.conf
nằm trong thư mục dữ liệu của bạn. Theo mặc định, nó sẽ là %PROGRAMFILES%\PostgreSQL\9.3\data
.
Để chỉnh sửa nó, bạn sẽ phải sử dụng tab bảo mật để cấp cho mình quyền đọc / ghi (thông qua lời nhắc UAC). Điều này có thể yêu cầu bạn đặt mình là chủ sở hữu của tệp.
Trên các hệ thống unix, việc thêm trước một
sẽ an toàn hơnlocal all all peer
dòng tới pg_hba.conf
rồi đến sudo -u postgres psql
(giả sử máy chủ PostgreSQL của bạn chạy với tư cách người dùng postgres
) để nhận psql
tương tác phiên mà không sử dụng mật khẩu. Bằng cách đó, bạn không phải sử dụng trust
.