Tôi có thể kích hoạt cả xác thực ngang hàng và md5 cho cùng một người dùng cục bộ PostgreSQL trong pg_hba.conf không?


14

Tôi muốn cho phép một người dùng PostgreSQL (siêu) được xác thực bằng các phương thức xác thực "ngang hàng" hoặc "md5", tốt nhất là sử dụng các ổ cắm tên miền Unix cục bộ trong cả hai trường hợp. Vấn đề là thứ tự của các mục trong pg_hba.conf có vấn đề và trận đấu đầu tiên sẽ được áp dụng.

Tôi có gì:

# TYPE    DATABASE   USER      ADDRESS   METHOD
  local   all        harold              peer
  local   all        all                 md5

Những gì tôi muốn (cú pháp không hợp lệ):

# TYPE    DATABASE   USER      ADDRESS   METHOD
  local   all        harold              peer-or-md5
  local   all        all                 md5

Dưới đây là một số chi tiết khác về môi trường chúng tôi muốn sử dụng trong:

Trên máy chủ cụ thể này, tất cả các cơ sở dữ liệu tương đối nhỏ (<10 MB dữ liệu mỗi dữ liệu) và hoàn toàn chỉ đọc. Chúng được thả và tái tạo mỗi đêm bởi siêu người dùng bị quấy rối. harold cũng là một tài khoản hệ thống, do đó, "ngang hàng" hoạt động độc đáo cho các cronjobs không mật khẩu, v.v. khách thăm quan). Bây giờ tôi cũng muốn cho phép người dùng harold đăng nhập qua giao diện web. Điều này không thành công vì cài đặt "ngang hàng" cho harold.

Cách giải quyết hiện tại là để cho giao diện web kết nối qua TCP, sử dụng

# TYPE    DATABASE   USER      ADDRESS        METHOD
  host    all        all       127.0.0.1/32   md5
  host    all        all       ::1/128        md5

ngoài các mục địa phương trong ví dụ đầu tiên. Điều này hoạt động, nhưng tôi cũng muốn sử dụng ổ cắm cục bộ ở đây - cho hiệu suất và vì cảm giác ruột mà dường như đó là điều đúng đắn.

Điều này có thể không? Có cách giải quyết nào tốt hơn cho chúng tôi không?

Câu trả lời:


10

Theo một câu hỏi StackOverflow tương tự , câu trả lời là không, bạn không thể kích hoạt hai loại xác thực cho cùng loại, cơ sở dữ liệu, người dùng và địa chỉ.

Câu hỏi StackOverflow khuyên bạn nên sử dụng một .pgpasstệp trong thư mục chính của người dùng và sử dụng xác thực md5, nhưng tôi không chắc chắn rằng nó có nhất thiết phải hoạt động cho các công việc định kỳ không.


Nó sẽ hoạt động nếu cronjob từ cùng một người dùng có .pgpass trong thư mục chính của anh ta.
Andrei Mikhaltsov
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.