ID 또는 GSSAPI와 같은 외부 인증 시스템을 사용할 때 연결을 시작한 운영 체제 사용자의 토토은 사용될 데이터베이스 사용자 (역할)와 같지 않을 수 있습니다. 이 경우 사용자 토토 맵을 적용하여 운영 체제 사용자 토토을 데이터베이스 사용자에 매핑 할 수 있습니다. 사용자 토토 매핑을 사용하려면 지정지도
=Map-name
옵션 필드에서pg_hba.conf
. 이 옵션은 외부 사용자 토토을받는 모든 인증 방법에 대해 지원됩니다. 다른 연결에 다른 매핑이 필요할 수 있으므로 사용할 맵의 토토이에 지정됩니다.Map-name
매개 변수pg_hba.conf
각 개별 연결에 사용할 맵을 나타냅니다.
사용자 토토 맵은 기본적으로 토토이 지정된지 맵 파일에 정의되어 있습니다.pg_ident.conf
그리고 클러스터의 데이터 디렉토리에 저장되어 있습니다. (그러나 다른 곳에지도 파일을 배치 할 수 있습니다. 참조Ident_File구성 매개 변수.) ID 맵 파일에는 일반 양식의 줄이 포함되어 있습니다.
Map-name
System-Username
Database-Username
포함
파일
include_if_exists
파일
include_dir
디렉토리
주석, 공백 및 라인 연속은와 같은 방식으로 처리됩니다.pg_hba.conf
. 그만큼Map-name
|이 매핑을 참조하는 데 사용될 임의의 토토입니다.PG_HBA.conf
. 다른 두 필드는 운영 체제 사용자 토토과 일치하는 데이터베이스 사용자 토토을 지정합니다. 같은Map-name
단일 맵 내에서 여러 토토 매핑을 지정하는 데 반복적으로 사용될 수 있습니다.
aspg_hba.conf
,이 파일의 줄은 동일한 규칙에 따라 지시문을 포함 할 수 있습니다.
thepg_ident.conf
파일은 시작시, 기본 서버 프로세스가 a를받을 때 읽습니다.Sighup신호. 활성 시스템에서 파일을 편집하면 우체국 장에 신호를 보내야합니다 (사용PG_CTL Reload
, SQL 기능 호출pg_reload_conf ()
또는 사용kill -hup
) 파일을 다시 읽게하려면
시스템보기토토 핫 : 문서 : 17 : 52.10
사전 테스트 변경에 도움이 될 수 있습니다pg_ident.conf
파일 또는 파일로드에 원하는 효과가없는 경우 문제를 진단합니다. 널이없는 관점에서 줄오류
필드는 파일의 해당 줄에 문제를 나타냅니다.
주어진 운영 체제 토토가 해당 할 수있는 데이터베이스 토토 수에 대한 제한이 없습니다. 따라서지도의 항목은 의미로 생각되어야합니다“이 운영 체제 토토는이 데이터베이스 토토로 연결할 수 있습니다”, 그것들이 동등하다는 것을 암시하기보다는. 외부 인증 시스템에서 얻은 사용자 토토을 사용자가 연결하도록 요청한 데이터베이스 사용자 토토과 짝을 이루는 맵 항목이 있으면 연결이 허용됩니다. 값all
Database-Username
System-Username
일치하는 경우이 토토는 기존 데이터베이스 토토로 로그인 할 수 있습니다. 인용all
키워드가 특별한 의미를 잃게 만듭니다.
Database-Username
a로 시작합니다+
문자, 운영 체제 사용자는 사용자 토토이 |+
PG_HBA.conf
. 따라서 A+
마크 수단“이 역할의 직접 또는 간접적으로 구성된 역할을 일치시킵니다”+
Mark는 해당 특정 역할 만 일치합니다. a로 시작하는 사용자 토토 인용+
+
특별한 의미를 잃습니다.
System-Username
필드는 슬래시로 시작합니다 (/
), 나머지 필드는 정규 표현으로 취급됩니다. (보다섹션 9.7.3.1자세한 내용PostgreSQL'의 정규식 표현 구문.) 정규 표현식에는 단일 캡처 또는 괄호 화 된 하위 표현이 포함될 수 있으며, 이는에서 참조 할 수 있습니다.Database-Username
필드 AS\ 1
(Backslash-one). 이를 통해 한 줄로 여러 토토 이름을 매핑 할 수 있으며, 이는 간단한 구문 치환에 특히 유용합니다. 예를 들어 이러한 항목
mymap /^(.*)@mydomain\.com$ \ 1 mymap /^(.*)@otherdomain\.com$ Guest
|@mydomain.com
@otherdomain.com
로그인하여게스트
. 인용Database-Username
포함\ 1
그렇지 않습니다make\ 1
특별한 의미를 잃습니다.
IFDatabase-Username
필드는 슬래시로 시작합니다 (/
), 필드의 나머지 부분은 정규 표현으로 취급됩니다 (참조섹션 9.7.3.1자세한 내용postgresql의 정규식 구문). 사용할 수 없습니다\ 1
정규 표현식에서 캡처를 사용하려면System-Username
정기적 인 표현의 경우database-username
.
기본적으로 정규 표현식은 문자열의 일부만 일치 할 수 있습니다. 일반적으로 사용하는 것이 현명합니다^
and$
, 위의 예에서 볼 수 있듯이 일치를 전체 시스템 사용자 토토으로 강제하도록 강요합니다.
apg_ident.conf
와 함께 사용할 수있는 파일pg_hba.conf
파일에서예 20.1예 20.2. 이 예에서는 운영 체제 사용자 토토이없는 192.168 네트워크의 컴퓨터에 로그인 한 사람이라면 누구나Bryanh
, Ann
또는Robert
액세스 권한이 부여되지 않습니다. 유닉스 토토Robert
그가 연결하려고 할 때만 액세스 할 수 있습니다PostgreSQL토토bob
Robert
또는 다른 사람.Ann
|Ann
. 토토Bryanh
Bryanh
또는 asGuest1
.
예 20.2. 예pg_ident.conf
파일
# MapName System-Username PG-Username Omicron Bryanh Bryanh Omicron Ann Ann # Bob 은이 기계에 토토 이름 Robert를 가지고 있습니다 오미 크론 로버트 밥 # Bryanh도 Guest1로 연결할 수 있습니다 1 Omicron Bryanh Guest1
19829_20055이 양식문서 문제를보고하려면