나는 네트워크로 연결된 postgreSQL 데이터베이스와 통신하기 위해 FreeBSD 시스템을 얻으려고 노력해 왔습니다. 나는 로그인에 Kerberos를 사용하기 때문에 기계에 Kerberos가 설치되어 있다고 가정하고 FreeBSD에 Kerberos가 내장되어 있다고 들었습니다(?). psql -h pgteach
(컴퓨터를 핑할 수 있으므로 잘 작동하는 서버의 별칭)을 사용하여 원격 데이터베이스에 연결을 시도했습니다 . 메시지를 받았습니다
psql: Kerberos 5 authentication not supported
이 문제를 인터넷 검색해 보면 Kerberos 포트 중 하나를 설치해야 한다고 제안하는 것 같습니다. postgresql 클라이언트(버전 9.1)에는 특별히 MIT 또는 Heimdal kerberos가 필요합니까, 아니면 기본 kerberos 라이브러리를 가리키도록 일부 구성 플래그를 추가할 수 있습니까?
pg_config
다음 줄을 반환합니다(관련성을 위해 편집된 것 같습니다). 더 많은 정보가 필요하면 알려주시기 바랍니다.
CONFIGURE = '--with-libraries=/usr/local/lib' '--with-includes=/usr/local/include' '--enable-thread-safety' '--with-openssl' '--with-libxml' '--enable-nls' '--with-gssapi' '--prefix=/usr/local' '--mandir=/usr/local/man' '--infodir=/usr/local/info/' '--build=amd64-portbld-freebsd8.2' 'build_alias=amd64-portbld-freebsd8.2' 'CC=cc' 'CFLAGS=-O2 -pipe -fno-strict-aliasing' 'LDFLAGS= -L/usr/local/lib -rpath=/usr/lib:/usr/local/lib -lgssapi' 'CPPFLAGS=' 'CPP=cpp' 'LDFLAGS_SL=-lgssapi'
LDFLAGS = -L/usr/local/lib -rpath=/usr/lib:/usr/local/lib -lgssapi -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib -Wl,--as-needed -Wl,-R'/usr/local/lib'
<snip>
LDFLAGS_EX =
LDFLAGS_SL = -lgssapi
LIBS = -lpgport -lintl -lxml2 -lssl -lcrypto -lz -lreadline -lcrypt -lm
편집하다:
나가지다Kerberos는 대학에서 관리하는 서버로 사용됩니다. 이후 "Heimdall kerberos 사용"을 확인 make config
하려고 시도했지만 sudo make clean install
시도한 후에 찾을 수 없다고 불평합니다 krb5_sendauth
. kinit와 klist가 제대로 작동하기 때문에 kerberos가 설치되어 있다는 것을 알고 있습니다.
답변1
나는 GSSAPI와 Heimdall Kerberos 지원이 모두 체크인되었는지 확인하여 이 문제를 해결했습니다 make config
. 그런 다음 컴파일하십시오.