이 문서는 지원되지 않는 버전의 토토 커뮤니티을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다토토 꽁 머니 : 문서 : 17 : CHAPTER 20. 토토 커뮤니티 인증버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

4 장. 토토 커뮤니티 인증

토토 커뮤니티 응용 프로그램이 데이터베이스 서버에 연결하면 어떤지 지정Postgres사용자 이름은 연결하고 싶어합니다. 특정 사용자로서의 유닉스 컴퓨터. SQL 환경 내에서 활성 데이터베이스 사용자 이름은 액세스 권한을 결정합니다 데이터베이스 개체 - 참조젠 토토 : 문서 : 7.1 : 데이터베이스 사용자 및 권한이에 대한 자세한 내용은. 그러므로 그것은 분명히입니다 주어진 토토 커뮤니티의 데이터베이스 사용자 이름을 제한하는 데 필수 연결할 수 있습니다.

인증데이터베이스 서버가 토토 커뮤니티의 신원을 설정하는 연장별로 토토 커뮤니티 응용 프로그램 (또는 토토 커뮤니티 애플리케이션을 실행하는 사용자)는 연결할 수 있습니다. 요청 된 사용자 이름으로.

Postgres제공 클라이언트 (클라이언트) 호스트 및 데이터베이스의 인증 사용 가능한 다른 인증 방법.

Postgres데이터베이스 사용자 이름 운영 체제의 사용자 이름과 논리적으로 분리되어 있습니다. 서버가 실행됩니다. 특정 서버의 모든 사용자 인 경우 서버 시스템에도 계정이 있습니다. Unix 사용자 ID와 일치하는 데이터베이스 사용자 이름을 지정하십시오. 그러나 원격 연결을 수락하는 서버에는 많은 로컬 계정이없는 사용자, 그러한 경우에 데이터베이스 사용자 이름과 Unix 사용자 이름간에 연결되지 않음

4.1. 그만큼PG_HBA.conf파일

클라이언트 인증은 파일에 의해 제어됩니다pg_hba.conf$ pgdata 디렉토리의 예를 들어/usr/local/pgsql/data/pg_hba.conf. (HBA는 호스트 기반 인증을 나타냅니다.) 기본값PG_HBA.conf파일이 설치됩니다 데이터 영역은에 의해 초기화됩니다.initdb.

일반 형식PG_HBA.conf파일은 레코드 세트입니다 라인 당. 해시 문자로 시작하는 빈 줄과 선 ("#")는 무시됩니다. 기록이 만들어졌습니다 공간 및/또는 탭. 기록에 걸쳐 기록을 계속할 수 없습니다.

레코드에 세 가지 형식 중 하나가있을 수 있습니다

Local데이터베이스 Authentication-Method[인증-옵션]
주인데이터베이스 IP-Address IP 마스크 Authentication-Method[인증-옵션]
호스트데이터베이스 ip-address IP 마스크 Authentication-Method[인증-옵션]
필드의 의미는 다음과 같습니다.
Local

이 레코드는 UNIX에 대한 연결 시도와 관련이 있습니다 도메인 소켓.

호스트

이 레코드는 연결 시도와 관련이 있습니다 TCP/IP 네트워크. TCP/IP 연결은 다음과 같습니다 서버가로 시작되지 않는 한 완전히 비활성화-i스위치 또는 등가 구성 매개 변수가 설정되었습니다.

hostssl

이 레코드는 SSL과의 연결 시도와 관련이 있습니다 TCP/IP 이상. 이 옵션을 사용하려면 서버가 있어야합니다 SSL 지원을 활성화하여 구축하십시오. 또한 SSL은해야합니다 로 활성화해야합니다.-l옵션 또는 서버가있을 때 동등한 구성 설정 시작.

데이터베이스

이 레코드가 적용되는 데이터베이스를 지정합니다. 값all이를 지정합니다 모든 데이터베이스에 적용되는 반면 값Sameuser데이터베이스를 식별합니다 연결 사용자와 동일한 이름입니다. 그렇지 않으면 이것은입니다 특정 이름Postgres데이터베이스.

IP 주소, IP 마스크

이 두 필드는 a를 호스팅하는 제어를 제어합니다.host레코드는 IP를 기준으로 적용됩니다 주소. (물론 IP 주소는 스푸핑 될 수 있지만 이것 고려 사항은의 범위를 벗어납니다.Postgres.) 정확한 논리는입니다.

(실제 -ip-addressxorIP-Address-Field) 및IP 마스크 필드
기록이 일치하려면 0이어야합니다.
인증 방법

사용자가 사용해야하는 메소드를 지정합니다 해당 데이터베이스에 연결할 때 스스로를 인증하십시오. 가능한 선택은 다음과 같습니다. 세부 사항은섹션 4.2.

신뢰

연결은 무조건 허용됩니다. 이것 메소드 로그인 액세스가있는 사용자는 클라이언트 호스트로 연결Postgres사용자가.

거부

연결은 무조건 거부됩니다. 이것 주로 유용합니다"필터 밖으로"그룹의 특정 호스트.

비밀번호

클라이언트는 비밀번호를 제공해야합니다 일치하는 데 필요한 연결 시도 사용자를 위해 설정된 비밀번호.

선택적 파일 이름은 이후에 지정 될 수 있습니다.암호키워드. 이것 파일은 사용자 목록이 포함될 것으로 예상됩니다. 이 레코드는 선택적으로 대안과 관련이 있습니다 비밀번호.

비밀번호는 와이어 위로 명확하게 전송됩니다 텍스트. 더 나은 보호를 위해 사용하십시오.crypt방법.

crypt

처럼비밀번호메소드이지만 비밀번호는 와이어 위로 전송됩니다 간단한 챌린지 응답을 사용하여 암호화되었습니다 규약. 이것은 여전히 ​​암호화 적이 아닙니다 안전하지만 부수로부터 보호합니다 와이어 스니핑. 파일의 이름이 다음을 따를 수 있습니다.crypt키워드 이 레코드가 관련된 사용자 목록이 포함되어 있습니다 에게.

KRB4

Kerberos V4는 사용자를 인증하는 데 사용됩니다. 이것은 TCP/IP 연결에만 사용할 수 있습니다.

KRB5

Kerberos v5는 사용자를 인증하는 데 사용됩니다. 이것은 TCP/IP 연결에만 사용할 수 있습니다.

ID

클라이언트 호스트의 ID 서버가 연결 사용자의 ID.Postgres그런 다음 여부를 확인합니다 식별 된 운영 체제 사용자가 허용됩니다 요청 된 데이터베이스 사용자로 연결합니다. 이것은 TCP/IP 연결에만 사용할 수 있습니다. 그만큼인증 옵션다음ID키워드 이름을 지정합니다ID 맵운영 체제 사용자와 동일시를 지정합니다 어떤 데이터베이스 사용자. 자세한 내용은 아래를 참조하십시오.

인증 옵션

이 필드는 다음에 따라 다르게 해석됩니다 여기에 설명 된대로 인증 방법.

연결 시도와 일치하는 첫 번째 레코드 클라이언트 IP 주소와 요청 된 데이터베이스 이름은 인증 단계. 없음"낙상"또는"백업": 한 레코드가 선택되고 인증 실패, 다음 레코드는 고려되지 않습니다. 기록이 일치하지 않으면 액세스가 거부됩니다.

thePG_HBA.conf파일이 다시 읽습니다 각 연결 시도 중. 그러므로 그것은 사소한 일입니다 서버가 실행되는 동안 액세스 권한을 수정하십시오 파일 편집.

a의 예PG_HBA.conf파일 에 표시됩니다.예제 4-1. 다른 인증에 대한 자세한 내용은 아래를 참조하십시오 행동 양식.

예 4-1. 예pg_hba.conf파일

# 데이터베이스 유형 IP_ADDRESS 마스크 authtype 맵

# 로컬 시스템의 모든 사용자가
# 사용자 이름 아래의 데이터베이스이지만 IP 연결을 통해서만 :

모든 127.0.0.1 255.255.255.255 신탁을 모두 호스트하십시오     

# 동일하게 UNIX-Socket 연결을 통해 :

지역 모든 신뢰

# IP 주소가있는 호스트의 모든 사용자가 192.168.93.x로 허용합니다.
# 데이터베이스 "Template1"에 연결하는 것과 동일한 사용자 이름과 연결
# 호스트는 그를 (일반적으로 그의 Unix 사용자 이름)로 식별합니다.

호스트 템플릿 1 192.168.93.0 255.255.255.0 Ident Sameuser

# 호스트의 사용자가 192.168.12.10의 사용자가 데이터베이스 "Template1"에 연결하도록 허용합니다.
# PG_SHADOW의 사용자 비밀번호가 올바르게 제공되는 경우 :

호스트 템플릿 1 192.168.12.10 255.255.255.255 Crypt

# 앞의 "호스트"라인이없는 경우이 두 줄은 거부합니다.
# 모든 연결 시도는 192.168.54.1입니다.
# 먼저 일치) 그러나 어디서나 Kerberos v5 검증 된 연결을 허용합니다.
# 다른 인터넷에서. 제로 마스크는 호스트 IP의 비트가 없음을 의미합니다.
# 주소가 고려되므로 모든 호스트와 일치합니다.

모든 192.168.54.1 255.255.255.255를 호스트하십시오
모두 0.0.0.0 0.0.0.0 KRB5를 호스트하십시오

# 192.168.x.x 사용자가 데이터베이스에 연결할 수 있도록 허용합니다.
# 신원 확인을 통과하십시오.  예를 들어, Ident가 사용자가 "Bryanh"라고 말하면
# 그리고 그는 PostgreSQL 사용자 "Guest1", 연결을 요청합니다.
#지도 "Omicron"에 대한 pg_ident.conf에 항목이 있으면 허용됩니다.
# "Bryanh"는 "Guest1"으로 연결할 수 있다고 말합니다.

모든 192.168.0.0 255.255.0.0 Ident Omicron 호스트