와이즈 토토 응용 프로그램이 데이터베이스 서버에 연결하면 IT 어떤지 지정와이즈 토토사용자 이름은 연결하고 싶어합니다. 특정 사용자로서의 유닉스 컴퓨터. SQL 환경 내에서 활성 데이터베이스 사용자 이름은 액세스 권한을 결정합니다 데이터베이스 개체 - 참조PostgreSQL : 문서 : 7.3 : 데이터베이스 토토 캔 및자세한 내용은. 따라서 제한해야합니다 어떤 데이터베이스 사용자가 연결할 수 있는지.
인증프로세스입니다 데이터베이스 서버가 와이즈 토토의 신원을 설정하는 연장별로 와이즈 토토 응용 프로그램 (또는 와이즈 토토 애플리케이션을 실행하는 사용자)는 연결할 수 있습니다. 요청 된 사용자 이름으로.
와이즈 토토여러 가지를 제공합니다 다른 클라이언트 인증 방법. 사용 된 방법 인증 특정 클라이언트 연결을 선택할 수 있습니다 (클라이언트) 호스트 주소, 데이터베이스 및 사용자의 기초.
와이즈 토토사용자 이름은입니다 운영 체제의 사용자 이름과 논리적으로 분리 서버가 실행됩니다. 특정 서버의 모든 사용자 인 경우 서버 시스템에도 계정이 있습니다. 운영 체제 사용자와 일치하는 데이터베이스 사용자 이름 지정 이름. 그러나 원격 연결을 수락하는 서버에는 가질 수 있습니다 로컬 계정이없는 많은 사용자와 그러한 경우에 데이터베이스 사용자 이름과 OS 사용자 간의 연결이 필요하지 않습니다. 이름.
클라이언트 인증은 파일에 의해 제어됩니다pg_hba.conf데이터 디렉토리의 (예 :/usr/local/pgsql/data/pg_hba.conf. (HBA호스트 기반을 나타냅니다 인증.) 기본값pg_hba.conf데이터가 설치 될 때 파일이 설치됩니다 디렉토리는에 의해 초기화됩니다.initdb.
일반 형식pg_hba.conf파일은 1 인당 레코드 세트입니다 선. 빈 줄은 무시됩니다. 이후의 텍스트와 마찬가지로"#"댓글 문자. 기록은 공간으로 분리되는 많은 필드로 구성 및/또는 탭. 필드 값 인 경우 필드에는 공백이 포함될 수 있습니다 인용됩니다. 기록에 걸쳐 기록을 계속할 수 없습니다.
각 레코드는 연결 유형, 클라이언트 IP 주소를 지정합니다. 범위 (연결 유형과 관련된 경우), 데이터베이스 이름, 사용자 이름 및 사용할 인증 방법 이 매개 변수와 일치하는 연결. a.의 첫 번째 레코드 연결 유형, 클라이언트 주소, 요청 된 데이터베이스, 사용자 이름은 인증을 수행하는 데 사용됩니다. 없음"낙상"또는"백업": 한 레코드가 선택되고 인증 실패, 후속 레코드는 고려되지 않습니다. 만약에 레코드 일치가없고 액세스가 거부됩니다.
레코드에 세 가지 형식 중 하나가있을 수 있습니다
Local데이터베이스 사용자 Authentication-Method[인증-옵션] 주인데이터베이스 사용자 ip-address IP 마스크 Authentication-Method[인증-옵션] 호스트데이터베이스 사용자 IP-Address IP 마스크 Authentication-Method[인증-옵션]
필드의 의미는 다음과 같습니다.
이 레코드는 UNIX를 사용한 연결 시도와 일치합니다 도메인 소켓. 이 유형의 기록이 없으면 유닉스 도메인 소켓 연결은 허용되지 않습니다
이 레코드는 TCP/IP를 사용한 연결 시도와 일치합니다
네트워크. TCP/IP 연결은 비활성화되어 있습니다
서버가로 시작되지 않는 한-i
옵션 또는tcpip_socket 와이즈 토토.conf구성 매개 변수
활성화되었습니다.
이 레코드는 SSL을 사용하여 연결 시도와 일치합니다 TCP/IP.host레코드가 일치합니다 SSL 또는 비 SSL 연결 시도이지만hostssl레코드에는 SSL이 필요합니다 사이.
이 옵션을 사용할 수 있으려면 서버는 SSL 지원을 활성화하여 구축했습니다. 또한 SSL은해야합니다 옵션을 활성화하여 활성화SSLin와이즈 토토.conf(참조섹션 3.4).
이 레코드와 일치하는 데이터베이스를 지정합니다. 그만큼 값all이를 지정합니다 모든 데이터베이스와 일치합니다. 값Sameuser레코드가 일치하도록 지정합니다 요청 된 데이터베이스가 요청 된 사용자. 값SameGroup요청 된 것을 지정합니다 사용자는 요청 된 데이터베이스. 그렇지 않으면 이것은 a의 이름입니다 특정한와이즈 토토데이터베이스. 여러 데이터베이스 이름을 제공 할 수 있습니다 쉼표로 분리. 데이터베이스를 포함하는 파일 이름을 이전에 앞의 이름으로 지정할 수 있습니다.@. 파일은 동일해야합니다 디렉토리로PG_HBA.conf.
와이즈 토토 사용자 가이 레코드와 일치하는지 지정합니다. 값all이를 지정합니다 모든 사용자와 일치합니다. 그렇지 않으면 이것은 a의 이름입니다 특정한와이즈 토토사용자. 분리하여 여러 사용자 이름을 제공 할 수 있습니다 쉼표와 함께. 그룹 이름은 지정할 수 있습니다 그룹 이름 이전 앞+. 사용자 이름을 포함하는 파일은 다음과 같이 지정할 수 있습니다 파일 이름 이전 앞@. 파일은와 동일한 디렉토리에 있어야합니다.pg_hba.conf.
이 두 필드에는 IP 주소/마스크 값이 포함되어 있습니다 표준 점선 소수점 표기법. (IP 주소 는만 할 수 있습니다 도메인 또는 호스트 이름이 아닌 수치 적으로 지정됩니다.) 함께 클라이언트 머신 IP를 지정합니다 이 레코드가 일치하는 것을 다룹니다. 정확한 논리는입니다 저것
기록이 일치하려면 0이어야합니다. (의 코스 IP 주소는 스푸핑 될 수 있지만이 고려 사항 의 범위를 넘어서와이즈 토토.)
이 필드는에만 적용됩니다hostandhostssl레코드.
언제 사용할 인증 방법을 지정합니다 이 레코드를 통해 연결. 가능한 선택은입니다 여기에 요약되었습니다. 세부 사항은섹션 6.2.
연결은 무조건 허용됩니다. 이것 메소드는에 연결할 수있는 사람을 허용합니다.와이즈 토토로그인 할 데이터베이스와이즈 토토원하는 사용자, 암호가 필요하지 않습니다. 보다섹션 6.2.1자세한 내용.
연결은 무조건 거부됩니다. 이것 에 유용합니다."필터링 밖으로"그룹의 특정 호스트.
클라이언트가 암호화 된 MD5를 제공하도록 요구합니다 인증을위한 비밀번호. 이것은 유일한 것입니다 암호화 된 암호를 저장할 수있는 방법 안에PG_SHADOW. 보다섹션 6.2.2자세한 내용.
좋아요MD5방법이지만 필요한 오래된 암호 암호화를 사용합니다 7.2 이전 고객.MD5is 7.2 이상의 고객이 선호합니다. 보다섹션 6.2.2자세한 내용.
"MD5"와 동일하지만 비밀번호는 명확하게 전송됩니다. 네트워크를 통해 텍스트. 사용해서는 안됩니다 신뢰할 수없는 네트워크. 보다섹션 6.2.2자세한 내용.
Kerberos V4는 사용자를 인증하는 데 사용됩니다. 이것은 TCP/IP 연결에만 사용할 수 있습니다. 보다섹션 6.2.3자세한 내용.
Kerberos v5는 사용자를 인증하는 데 사용됩니다. 이것은 TCP/IP 연결에만 사용할 수 있습니다. 보다섹션 6.2.3자세한 내용.
운영 체제 사용자 이름을 얻습니다 클라이언트 (TCP/IP 연결 용 로컬 연결을 위해 클라이언트의 ID 서버 운영 체제에서 가져 와서 확인) 및 확인 사용자가 요청 된대로 연결할 수있는 경우 이후에 지정된 맵을 컨설팅하여 데이터베이스 사용자 그만큼ID키워드.
지도를 사용하는 경우Sameuser, 사용자 이름은 가정됩니다 동일하게. 그렇지 않다면지도 이름이 조회됩니다 파일에서pg_ident.conf와 같은 디렉토리에서PG_HBA.conf. 연결은입니다 해당 파일에이를위한 항목이 포함되어 있는지 허용합니다 ID가 공급 된 사용자 이름 및 요청와이즈 토토사용자 이름.
로컬 연결의 경우, 이것은 만 작동합니다 유닉스 도메인 소켓을 지원하는 기계 자격 증명 (현재Linux, freebsd, netbsd및BSD/OS).
참조섹션 6.2.4자세한 내용은 아래.
플러그 가능한 인증을 사용하여 인증 운영이 제공하는 모듈 (PAM) 서비스 체계. 보다섹션 6.2.5세부.
이 선택 필드의 의미는 인증 방법을 선택하고 다음에 설명되어 있습니다 부분.
이후pg_hba.conf레코드가 있습니다 각 연결 시도, 순서에 대해 순차적으로 검사했습니다 기록은 중요합니다. 일반적으로 이전 기록이 있습니다 연결 일치 매개 변수가 빡빡하고 약합니다 인증 방법, 나중에 레코드는 느슨해집니다 매개 변수와 더 강력한 인증 방법을 일치시킵니다. 을 위한 예를 들어, 사용하고 싶을 수도 있습니다신뢰로컬 TCP 연결에 대한 인증이지만 비밀번호가 필요합니다 원격 TCP 연결 용. 이 경우 레코드를 지정신뢰연결에 대한 인증 비밀번호를 지정하는 레코드 앞에 127.0.0.1에서 나타납니다 더 넓은 범위의 허용 클라이언트 IP에 대한 인증 구애.
중요 :슈퍼 사용자가 방해하지 마십시오 Template1 데이터베이스 액세스. 다양한 유틸리티 명령 템플릿에 액세스해야합니다.
thepg_hba.conf파일은 시작시 및시기에 읽습니다 그만큼PostmasteraSighup신호. 편집하면 활성 시스템에 파일을 표시하려면에 신호를 보내야합니다.Postmaster(사용PG_CTL Reload또는킬 -앉다) 파일을 다시 읽게하려면
a의 예pg_hba.conf파일 에 표시됩니다.예제 6-1. 다른 인증에 대한 자세한 내용은 아래를 참조하십시오 행동 양식.
예 6-1. 예PG_HBA.conf파일
# 로컬 시스템의 모든 사용자가 아래의 데이터베이스에 연결하도록 허용 # Unix-Domain 소켓을 사용한 모든 사용자 이름 (로컬의 기본값 # 연결). 틀 # 데이터베이스 유형 사용자 IP-Dress IP-MASK 메소드 모든 신뢰 # 로컬 루프백 TCP/IP 연결을 사용하여 동일합니다. 틀 # 데이터베이스 유형 사용자 IP-Dress IP-MASK 메소드 모든 127.0.0.1 255.255.255.255 신탁을 모두 호스트하십시오 # IP 주소가있는 호스트의 모든 사용자가 192.168.93.x를 연결하도록 허용합니다. # 데이터베이스 "Template1"에 # 연결 (일반적으로 Unix 사용자 이름). 틀 # 데이터베이스 유형 사용자 IP-Dress IP-MASK 메소드 호스트 템플릿 1 모든 192.168.93.0 255.255.255.0 Ident Sameuser # 호스트의 사용자가 192.168.12.10에서 데이터베이스에 연결하도록 허용합니다. # "Template1"사용자의 암호가 올바르게 제공되는 경우. 틀 # 데이터베이스 유형 사용자 IP-Dress IP-MASK 메소드 호스트 템플릿 1 모든 192.168.12.10 255.255.255.255 MD5 # 앞의 "호스트"라인이없는 경우이 두 줄은 # 192.168.54.1에서 모든 연결을 거부합니다 (그 항목은 # 먼저 일치) 그러나 다른 곳에서 Kerberos v 연결 허용 # 인터넷에서. 제로 마스크는 호스트 IP의 비트가 없음을 의미합니다. # 주소는 모든 호스트와 일치하도록 고려됩니다. 틀 # 데이터베이스 유형 사용자 IP-Dress IP-MASK 메소드 모든 192.168.54.1 255.255.255.255 모든 호스트 거부 모두 0.0.0.0 0.0.0.0 KRB5를 모두 호스트하십시오 # 192.168.x.x 사용자가 데이터베이스에 연결할 수 있도록 허용합니다. # 그들은 신원 확인을 통과합니다. 예를 들어 Ident가 사용자가 있다고 말하면 # "Bryanh"및 그는 와이즈 토토 사용자 "Guest1"으로 연결하도록 요청합니다. # MAP의 PG_INDENT.CONF 항목이 있으면 연결이 허용됩니다. # "Bryanh"라는 "Omicron"은 "Guest1"으로 연결할 수 있습니다. 틀 # 데이터베이스 유형 사용자 IP-Dress IP-MASK 메소드 모든 192.168.0.0 255.255.0.0 ID ID OMICRON을 모두 호스트하십시오 # 이것이 로컬 연결을위한 유일한 세 줄인 경우 # 로컬 사용자가 자신의 데이터베이스 (데이터베이스)에만 연결하도록 허용합니다. # 사용자 이름과 동일한 이름을 가진) 관리자를 제외하고 # 모든 데이터베이스에 연결할 수있는 그룹 "지원"멤버. 파일 # $ pgdata/Admins에는 사용자 이름 목록이 포함되어 있습니다. 비밀번호가 필요합니다 # 모든 경우. 틀 # 데이터베이스 유형 사용자 IP-Dress IP-MASK 메소드 로컬 동일한 사람 모두 MD5 로컬 모든 @admins md5 로컬 all +지원 MD5 # 위의 마지막 두 줄은 한 줄로 결합 할 수 있습니다. Local All @Admins,+지원 MD5 # 데이터베이스 열은 목록 및 파일 이름을 사용할 수 있지만 그룹은 아닙니다. 로컬 db1, db2,@demodbs all md5