이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 20.3. 사설 토토 사이트 방법버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

6.2. 토토 베이 방법

다음은 추가 인증 방법을 설명합니다. 자세히.

6.2.1. 신뢰 토토 베이

언제신뢰토토 베이은 지정됨,포스트그레SQL가정 서버에 연결할 수 있는 모든 사람에게 권한이 부여됩니다. 그가 지정한 데이터베이스 사용자로 데이터베이스에 액세스하십시오. (데이터베이스 수퍼유저 포함) 이 방법은 다음과 같습니다. 적절한 시스템 수준 보호가 있을 때 사용됩니다. 포스트마스터 포트에 연결합니다.

신뢰토토 베이이 적절합니다 단일 사용자의 로컬 연결에 매우 편리합니다. 워크스테이션. 일반적으로아님그 자체로 적합함 다중 사용자 기계. 그러나 다음을 사용할 수 있습니다.신뢰다중 사용자 시스템에서도 다음을 사용하여 포스트마스터의 소켓 파일에 대한 액세스를 제한합니다. 파일 시스템 권한. 이렇게 하려면 매개변수를 설정하세요.unix_socket_permissions(그리고 아마도unix_socket_group) inpostgresql.conf, 다음에 설명된 대로섹션 3.4.4. 아니면 설정할 수도 있습니다.unix_socket_directory소켓 파일 배치 적절하게 제한된 디렉토리에 있습니다.

파일 시스템 권한 설정은 Unix 소켓에만 도움이 됩니다 연결. 로컬 TCP 연결은 이에 의해 제한되지 않습니다. 따라서 로컬 보안을 위해 권한을 사용하려면 제거하다호스트 ... 127.0.0.1 ...라인 에서pg_hba.conf또는 다음으로 변경하세요. 비-신뢰토토 베이 방법.

신뢰인증만 가능 매 순간 모든 사용자를 신뢰한다면 TCP 연결에 적합합니다. 에 의해 서버에 연결이 허용된 머신입니다.pg_hba.conf지정하는 라인신뢰. 사용하는 것이 거의 합리적이지 않습니다.신뢰다른 TCP 연결의 경우 그보다로컬호스트 (127.0.0.1).

6.2.2. 비밀번호 토토 베이

비밀번호 기반 인증 방법에는 다음이 포함됩니다.md5, 암호비밀번호. 이러한 방법은 작동 비밀번호가 전송되는 방식을 제외하고는 유사합니다. 연결. 비밀번호가 걱정된다면"냄새를 맡는 중"다음 공격md5선호됨, 다음과 함께암호지원해야 하는 경우 두 번째 선택 7.2 이전 클라이언트. 일반비밀번호해야 한다 특히 공개 인터넷을 통한 연결은 피하세요. (SSL, SSH 또는 기타 통신 보안을 사용하지 않는 한 연결 주변의 래퍼).

PostgreSQL데이터베이스 비밀번호는 운영 체제 사용자 비밀번호와 별개입니다. 각 데이터베이스 사용자의 비밀번호는pg_shadow시스템 카탈로그 테이블. 비밀번호는 다음과 같습니다. 쿼리 언어 명령으로 관리됨사용자 생성그리고변경 사용자예:다음으로 foo 사용자 생성 비밀번호 '비밀';. 기본적으로, 즉, 비밀번호가 없는 경우 설정이 완료되었습니다. 저장된 비밀번호는 null이며 비밀번호는 해당 사용자에 대한 인증은 항상 실패합니다.

연결이 허용된 사용자 집합을 제한하려면 특정 데이터베이스에서는 사용자를 쉼표로 구분하여 나열하거나 별도의 파일. 파일에는 다음으로 구분된 사용자 이름이 포함되어야 합니다. 쉼표 또는 한 줄에 하나의 사용자 이름이어야 하며 동일한 디렉터리에 있어야 합니다. 와 같이pg_hba.conf. (기본)을 언급 로 시작하는 파일 이름@에 사용자 열. 데이터베이스 열은 유사하게 다음을 허용할 수 있습니다. 값 목록 또는 파일 이름. 그룹 이름을 지정할 수도 있습니다. 그룹 이름 앞에+.

6.2.3. Kerberos 토토 베이

케르베로스은 산업 표준 보안 토토 베이 시스템에 적합 공용 네트워크를 통한 분산 컴퓨팅. 에 대한 설명케르베로스시스템이 멀다 이 문서의 범위를 벗어나는 것 일반적으로 그럴 수 있다. 꽤 복잡하지만 (아직 강력함)케르베로스FAQ또는MIT 프로젝트 아테나탐험을 위한 좋은 출발점이 될 수 있습니다. 여러 소스케르베로스배포판이 존재합니다.

사용하기 위해케르베로스, 이에 대한 지원은 빌드 시 활성화되어야 합니다. 참조1장16284_16409

PostgreSQL다음과 같이 작동합니다 일반 Kerberos 서비스. 서비스 주체의 이름은 다음과 같습니다.서비스 이름/호스트 이름@realm, 어디서서비스 이름is포스트그레스(다른 서비스 이름이 아닌 경우) 구성 시 선택됨./구성 --with-krb-srvnam=무엇이든). 호스트 이름정규화된 도메인입니다. 서버 시스템의 이름입니다. 서비스 주체의 영역은 다음과 같습니다. 서버 시스템의 기본 영역입니다.

클라이언트 주체는 다음을 가져야 합니다.PostgreSQL사용자 이름을 첫 번째로 예를 들어 구성요소pgusername/otherstuff@realm. 현재 클라이언트 영역은 다음으로 확인되지 않습니다.PostgreSQL; 따라서 교차 영역이 있는 경우 인증이 활성화된 다음 해당 영역의 모든 주체 당신과 의사소통할 수 있는 것은 받아들여질 것입니다.

서버 키 파일을 읽을 수 있는지 확인하세요(그리고 읽기만 가능함) by thePostgreSQL서버 계정(참조섹션 3.1). 위치 키 파일은krb_server_keyfile런타임 구성 매개변수. (또한 참조젠 토토 : 문서 : 7.3 : 런타임 구성.) 기본값은/etc/srvtabKerberos 4를 사용하는 경우파일:/usr/local/pgsql/etc/krb5.keytab(또는 어떤 디렉토리가 지정되었든 간에sysconfdir빌드 시간에) Kerberos 5를 사용합니다.

keytab 파일을 생성하려면 다음을 사용하십시오(버전 포함) 5)

kadmin%ank -randkey postgres/server.my.domain.org
kadmin%ktadd -k krb5.keytab postgres/server.my.domain.org

읽기케르베로스자세한 내용은 문서를 참조하세요.

데이터베이스에 연결할 때 티켓이 있는지 확인하십시오 요청된 데이터베이스 사용자 이름과 일치하는 주체에 대해 안 예: 데이터베이스 사용자 이름의 경우프레드, 둘 다 교장fred@EXAMPLE.COM그리고fred/users.example.com@EXAMPLE.COM할 수 있다 데이터베이스 서버에 토토 베이하는 데 사용됩니다.

사용하는 경우mod_auth_krb그리고mod_perl당신의아파치웹 서버를 사용할 수 있습니다토토 베이 유형 KerberosV5SaveCredentialsmod_perl스크립트. 이것은 웹을 통한 보안 데이터베이스 액세스, 추가 비밀번호 없음 필수입니다.

6.2.4. ID 기반 토토 베이

신원 인증 방법은 다음을 검사하여 작동합니다. 클라이언트의 운영 체제 사용자 이름 및 허용되는 사용자 이름 결정 데이터베이스 사용자 이름을 나열하는 맵 파일을 사용하여 해당 사용자 이름 쌍이 허용됩니다. 결정 클라이언트의 사용자 이름은 보안에 중요한 포인트이며 연결 유형에 따라 다르게 작동합니다.

6.2.4.1. TCP/IP를 통한 ID 토토 베이

"식별 프로토콜"다음에 설명되어 있습니다.RFC 1413. 사실상 모든 Unix 계열 운영 체제에는 ident 서버가 함께 제공됩니다. 기본적으로 TCP 포트 113에서 수신 대기합니다. 기본 ident 서버의 기능은 다음과 같은 질문에 답하는 것입니다."어떤 사용자가 연결을 시작했는지 항구 밖으로 나간다X그리고 내 포트에 연결됩니다.Y?". 이후포스트그레SQL둘 다 안다X그리고Y물리적 연결이 설정되면 질의할 수 있습니다. 연결 클라이언트 호스트의 ident 서버 및 이론적으로 운영 체제 사용자를 결정할 수 있습니다. 어떤 주어진 연결도 이런 식으로 이루어집니다.

이 절차의 단점은 다음에 따라 달라진다는 것입니다. 클라이언트의 무결성: 클라이언트 시스템을 신뢰할 수 없는 경우 또는 공격자가 손상되면 거의 모든 프로그램을 실행할 수 있습니다. 포트 113에서 그가 선택한 사용자 이름을 반환합니다. 이 따라서 인증 방법은 다음에만 적합합니다. 각 클라이언트 시스템이 긴밀하게 연결되어 있는 폐쇄형 네트워크 데이터베이스 및 시스템 관리자가 제어하는 위치 긴밀한 접촉으로 운영됩니다. 즉, 당신은 신뢰해야합니다 ident 서버를 실행하는 머신. 경고에 유의하세요.

식별 프로토콜은 다음 목적으로 사용되지 않습니다. 승인 또는 액세스 제어 프로토콜.

--RFC 1413

6.2.4.2. 로컬 소켓을 통한 ID 토토 베이

지원하는 시스템에서SO_PEERCREDUnix 도메인 소켓에 대한 요청(현재리눅스, FreeBSD, NetBSDBSD/OS), 신원 토토 베이도 가능합니다. 로컬 연결에 적용됩니다. 이 경우 보안 위험은 없습니다. ID 토토 베이을 사용하여 추가됩니다. 실제로 그것은 이러한 시스템의 로컬 연결에 선호되는 선택입니다.

다음이 없는 시스템에서SO_PEERCRED요청, ID 인증은 TCP/IP에서만 가능합니다. 연결. 해결 방법으로 다음을 지정할 수 있습니다.로컬호스트주소127.0.0.1그리고 만들다 이 주소로 연결됩니다.

6.2.4.3. ID 맵

ID 기반 토토 베이을 사용할 때, 운영 체제 사용자의 이름을 확인했습니다. 연결을 시작했습니다.PostgreSQL그 사용자가 다음인지 확인합니다. 그가 요청한 데이터베이스 사용자로 연결할 수 있습니다 다음과 같이 연결합니다. 이는 ident 맵 인수에 의해 제어됩니다. 다음을 따른다ident키워드pg_hba.conf파일. 있다 사전 정의된 ID 맵동일사용자, 모든 운영 체제 사용자가 데이터베이스로 연결할 수 있도록 허용 동일한 이름의 사용자(후자가 존재하는 경우) 다른 지도는 반드시 수동으로 생성됩니다.

ID 맵 기타 보다동일사용자에 정의되어 있습니다. 파일pg_ident.conf데이터에서 다음과 같은 일반 형식의 행이 포함된 디렉토리입니다.

지도 이름 ident-사용자 이름 데이터베이스-사용자 이름

주석과 공백은 일반적인 방법으로 처리됩니다.지도 이름임의의 이름입니다 이 매핑을 참조하는 데 사용됩니다.pg_hba.conf. 다른 두 필드는 다음을 지정합니다. 어떤 운영 체제 사용자가 어떤 사용자로 연결할 수 있는지 데이터베이스 사용자. 같은지도-이름반복적으로 사용할 수 있습니다. 단일 맵 내에서 더 많은 사용자 매핑을 지정합니다. 없다 특정 데이터베이스 사용자 수에 대한 제한 운영 체제 사용자는 해당할 수도 있고 그 반대일 수도 있습니다.

pg_ident.conf시작 시 파일을 읽고 때우체국장수신 에SIGHUP신호. 편집하는 경우 활성 시스템의 파일에 대해 신호를 보내야 합니다.우체국장(사용pg_ctl reload또는죽여라 -HUP) 파일을 다시 읽도록 합니다.

A pg_ident.conf할 수 있는 파일 와 함께 사용됩니다.pg_hba.conf파일 입력예 6-1다음에 표시됨예 6-2. 에서 이 예제 설정에서는 컴퓨터에 로그인한 모든 사람이 192.168 Unix 사용자 이름이 없는 네트워크브라이언, 또는로버트액세스가 허용되지 않습니다. 유닉스 사용자로버트단지 그가 다음 계정으로 연결을 시도할 때 액세스가 허용되었습니다.포스트그레SQL사용자, 그렇지 않음로버트또는 누구든지.다음으로만 연결이 허용됩니다. 사용자브라이언다음으로 연결이 허용됩니다 둘 중 하나브라이언자신 또는 다음과 같이손님1.

예 6-2. 예pg_ident.conf파일

# MAPNAME IDENT-USERNAME PG-USERNAME

오미크론 브라이언 브라이언
오미크론 앤 앤
# bob은 이 컴퓨터에 사용자 이름 robert를 가지고 있습니다.
오미크론 로버트 밥
# bryanh은 guest1로도 연결할 수 있습니다
오미크론 브라이언 게스트1

6.2.5. 팸 토토 베이

이 인증 유형은 다음과 유사하게 작동합니다.비밀번호PAM(플러그 가능)을 사용한다는 점은 제외 인증 모듈)을 인증 메커니즘으로 사용합니다. 는 기본 PAM 서비스 이름은 다음과 같습니다.postgresql. 선택적으로 자신이 소유한 것을 공급할 수 있습니다. 서비스 이름 뒤에는키워드 파일. PAM에 대한 자세한 내용은 다음을 읽어보세요.리눅스-PAM페이지그리고솔라리스팸 페이지.