trust
인증이 지정된 경우 PostgreSQL는 지정한 데이터베이스 사용자 이름을 사용하여 서버에 연결 가능한 모든 이가 데이터베이스 액세스에 대한 인증을 받는 것으로 간주한다(수퍼유저 이름 포함).
물론, database
및 user
컬럼의 제한도 계속 적용된다.
이 방법은 서버 연결에 대한 적절한 운영 체제 수준의 보호가 제공되는 경우에만 사용되어야 한다.
trust
인증은 단일 사용자 워크스테이션에 대한 로컬 연결 시 적절하며, 매우 편리하다. 다중 사용자 머신에서는 일반적으로 적절하지 않다.
그러나, 파일 시스템 권한을 사용하여 서버의 Unix 도메인 소켓 파일에 대한 액세스를 제한하는 경우 다중 사용자 머신에서도 trust
를 사용 가능할 수 있다.
이렇게 하려면 unix_socket_permissions
(및 가능하면 unix_socket_group
) 환경 설정 매개 변수를 19.3절에서 설명한 대로 설정해야 한다.
또는 unix_socket_directories
환경 설정 매개 변수를 설정하여 소켓 파일을 적절히 제한된 디렉터리에 배치할 수 있다.
파일 시스템 권한 설정은 Unix 소켓 연결 시에만 유용하다. 로컬 TCP/IP 연결은 파일 시스템 권한에 의해 제한되지 않는다.
따라서 로컬 보안을 위해 파일 시스템 권한을 사용하려면 host ... 127.0.0.1 ...
줄을 pg_hba.conf
에서 삭제하거나, 비 trust
방법으로 변경해야 한다.
trust
인증은 trust
를 지정하는 pg_hba.conf
줄에 의해 서버로의 연결이 허용된 모든 머신의 모든 사용자를 신뢰하는 경우에 TCP/IP 연결에 대해서만 적합하다.
localhost(127.0.0.1) 외에 TCP/IP 연결에 대해 trust
를 사용하는 것은 별로 합당하지 않다.