Sau đây mô tả các phương thức kèo bóng đá c1 trong chi tiết.
PostgresMật khẩu cơ sở dữ liệu được tách biệt với bất kỳ mật khẩu người dùng hệ điều hành. Thông thường, mật khẩu cho mỗi người dùng cơ sở dữ liệu được lưu trữ trong Bảng danh mục hệ thống PG_Shadow. Mật khẩu có thể được quản lý với các lệnh ngôn ngữ truy vấnTạo Người dùngvàngười dùng thay đổi, ví dụ:Tạo người dùng foo với mật khẩu 'bí mật';. Theo mặc định, nghĩa là nếu không có mật khẩu được thiết lập, mật khẩu được lưu trữ lànullvà kèo bóng đá c1 mật khẩu sẽ luôn thất bại cho người dùng đó.
Để hạn chế tập hợp người dùng được phép kết nối với Một số cơ sở dữ liệu nhất định, liệt kê tập hợp người dùng trong một tệp riêng biệt (một tên người dùng trên mỗi dòng) Trong cùng một thư mụcpg_hba.confđang ở và đề cập đến tên (cơ sở) của tệp sauMật khẩuhoặcCryptTừ khóa, tương ứng, trongpg_hba.conf. Nếu bạn không sử dụng cái này tính năng, sau đó, bất kỳ người dùng nào được biết đến hệ thống cơ sở dữ liệu có thể Kết nối với bất kỳ cơ sở dữ liệu nào (miễn là anh ta truyền mật khẩu tất nhiên là kèo bóng đá c1).
Những tệp này cũng có thể được sử dụng để áp dụng một tập hợp khác Mật khẩu cho một cơ sở dữ liệu cụ thể hoặc đặt chúng. Trong đó trường hợp, các tệp có định dạng tương tự như unix tiêu chuẩn Tệp mật khẩu/etc/passwd, Đó là là,
tên người dùng:Mật khẩuBất kỳ trường phân tách đại tràng bổ sung nào theo mật khẩu là bỏ qua. Mật khẩu dự kiến sẽ được mã hóa bằng cách sử dụng System'sCrypt ()Hàm. Tiện ích chương trìnhpg_passwdnghĩa là được cài đặt vớiPostgrescó thể được sử dụng để quản lý các tệp mật khẩu này.
Các dòng có và không có mật khẩu có thể được trộn trong thứ cấp Tệp mật khẩu. Các dòng không có mật khẩu cho biết sử dụng chính Mật khẩu trongpg_shadowĐiều đó được quản lý quaTạo người dùngvàngười dùng thay đổi. Các dòng có mật khẩu sẽ gây ra điều đó mật khẩu sẽ được sử dụng. Nhập mật khẩu của"+"Cũng có nghĩa là sử dụng mật khẩu pg_shadow.
Mật khẩu thay thế không thể được sử dụng khi sử dụngCryptkèo bóng đá c1. Tệp vẫn sẽ được đánh giá như bình thường nhưng trường mật khẩu sẽ chỉ đơn giản là bị bỏ qua vàpg_shadowMật khẩu sẽ được sử dụng.
Lưu ý rằng sử dụng các mật khẩu thay thế như thế này có nghĩa là người ta không còn có thể sử dụngngười dùng thay đổiđến Thay đổi mật khẩu của một người. Nó vẫn sẽ xuất hiện để hoạt động nhưng Mật khẩu một kèo bóng đá c1 sự thay đổi không phải là mật khẩu mà hệ thống sẽ kết thúc bằng cách sử dụng.
Kerberoslà một Hệ thống kèo bóng đá c1 an toàn tiêu chuẩn công nghiệp phù hợp cho Phân phối điện toán qua một mạng công cộng. Một mô tả của TheKerberosHệ thống là xa Ngoài phạm vi của tài liệu này; Trong tất cả các tính tổng quát, nó có thể là Khá phức tạp (nhưng mạnh mẽ). TheKerberosFAQhoặcDự án MIT AthenaCó thể là điểm khởi đầu tốt để khám phá. Một số nguồn choKerberosPhân phối tồn tại.
Để sử dụngKerberos,, Hỗ trợ cho nó phải được kích hoạt tại thời điểm xây dựng. Cả Kerberos 4 và 5 được hỗ trợ (./configure --with-krb4hoặc./configure --with-krb5
Postgresnên hoạt động Giống như một dịch vụ Kerberos bình thường. Tên của dịch vụ Hiệu trưởng thường làPostgres, trừ khi Nó đã được thay đổi trong quá trình xây dựng. Đảm bảo rằng khóa máy chủ của bạn Tệp có thể đọc được (và tốt nhất là chỉ có thể đọc được) bởi Postgres Tài khoản máy chủ (xemPhần 3.1). Vị trí của Tệp khóa được chỉ định vớiKRB_SERVER_KEYFILEChạy cấu hình thời gian tham số. (Xem thêmPostgreSQL: Tài.) Mặc định là/etc/srvtabNếu bạn đang sử dụng Kerberos 4 vàTệp: /usr/local/pgsql/etc/krb5.keytab(hoặc bất kỳ thư mục nào được chỉ định làsysconfdirTại thời điểm xây dựng) với Kerberos 5.
Để tạo tệp keytab, hãy sử dụng ví dụ (với phiên bản 5)
Kadmin%Ank -randkey postgres/server.my.domain.org Kadmin%ĐọcKerberosTài liệu cho các hậu quả.
trongKerberos5 móc, Các giả định sau đây được kèo bóng đá c1 hiện về người dùng và dịch vụ Đặt tên:
tên chính của người dùng (anames) được coi là chứa unix kèo bóng đá c1 tế/PostgresNgười dùng Tên trong thành phần đầu tiên.
ThePostgresDịch vụ là giả sử là có hai thành phần, tên dịch vụ và một tên máy chủ, kinh điển hóa như trong phiên bản 4 (tức là, với tất cả Hậu tố miền bị xóa).
Nếu bạn sử dụng mod_auth_krb và mod_perl trên web Apache của bạn Máy chủ, bạn có thể sử dụng AuthType Kerberosv5SaveCredentials với một tập lệnh mod_perl. Điều này cung cấp quyền truy cập cơ sở dữ liệu an toàn trên Web, không cần thêm mật khẩu.
The"Giao thức nhận dạng"IS được mô tả trongRFC 1413. Hầu như mọi Hệ điều hành giống như UNIX có một máy chủ nhận dạng Lắng nghe trên cổng TCP 113 theo mặc định. Chức năng cơ bản của Một máy chủ nhận dạng là để trả lời các câu hỏi như"Người dùng nào đã bắt đầu kết nối ra khỏi Cổng của bạnxvà kết nối với tôi Cổngy? ". TừPostgresBiết cảXvàyKhi kết nối vật lý được thiết lập, nó có thể thẩm vấn máy chủ nhận dạng trên máy chủ của máy khách kết nối và có thể Về mặt lý thuyết, kèo bóng đá c1 định người dùng hệ điều hành cho bất kỳ Kết nối theo cách này.
Hạn chế của thủ tục này là nó phụ thuộc vào Tính toàn vẹn của máy khách: Nếu máy khách không được tin tưởng hoặc Thỏa hiệp một kẻ tấn công có thể chạy về bất kỳ chương trình nào trên Cổng 113 và trả về bất kỳ tên người dùng nào anh ta chọn. Cái này Do đó, phương pháp kèo bóng đá c1 chỉ phù hợp để đóng các mạng nơi mỗi máy khách được kiểm soát chặt chẽ và nơi các quản trị viên cơ sở dữ liệu và hệ thống hoạt động gần liên hệ. Chú ý cảnh báo:
Giao thức nhận dạng không được dự định là một Giao thức điều khiển ủy quyền hoặc truy cập. |
||
--RFC 1413 |
Khi sử dụng kèo bóng đá c1 dựa trên nhận dạng, sau khi có xác định người dùng hệ điều hành đã bắt đầu sự liên quan,Postgreskèo bóng đá c1 định là người dùng hệ thống cơ sở dữ liệu mà anh ta có thể kết nối. Đây là được kiểm soát bởi đối số bản đồ nhận dạng theoNhận dạngTừ khóa trongpg_hba.confTệp. Bản đồ nhận dạng đơn giản nhất làSoriluSer, cho phép mọi hoạt động Người dùng hệ thống kết nối với tư cách là người dùng cơ sở dữ liệu cùng tên (nếu cái sau tồn tại). Các bản đồ khác phải được tạo theo cách thủ công.
Bản đồ nhận dạng được giữ trong tệppg_ident.confTrong thư mục dữ liệu, trong đó chứa các dòng của biểu mẫu chung:
tên bản đồ Nhận dạng-username Cơ sở dữ liệu-usernameNhận xét và khoảng trắng được xử lý theo cách thông thường. Thetên bản đồlà một tên tùy ý mà sẽ được sử dụng để tham khảo ánh xạ này trongpg_hba.conf. Hai lĩnh vực khác chỉ định Người dùng hệ điều hành được phép kết nối như người dùng cơ sở dữ liệu nào. Giống nhautên bản đồcó thể được sử dụng Nhiều lần để chỉ định nhiều bản đồ người dùng hơn. Cũng không có Hạn chế về số lượng người dùng cơ sở dữ liệu một hoạt động nhất định hệ thống có thể tương ứng và ngược lại.
Apg_ident.confTệp có thể được sử dụng cùng vớipg_hba.confTệp trongVí dụ 4-1được hiển thị trongVí dụ 4-2. TRONG thiết lập ví dụ này, bất kỳ ai đã đăng nhập vào một máy Mạng 192.168 không có tên người dùng UNIX Bryanh, Ann, hoặc Robert sẽ không được cấp quyền truy cập. Người dùng Unix Robert sẽ chỉ được phép truy cập khi anh ấy cố gắng kết nối với tư cách Người dùng Postgres"Bob", không phải"Robert"hoặc bất kỳ ai khác."Ann"sẽ chỉ được phép Kết nối dưới dạng"Ann". Người dùng Bryanh sẽ được phép kết nối dưới dạng"Bryanh"Bản thân anh ta hoặc"Guest1".