2016-04-22 3 views
1

Я пытаюсь подключиться к базе данных с помощью Kerberos, все работает, за исключением двух проблем. Во-первых, когда я выполняю свой код, мне предлагается ввести пароль не один раз, а два раза. Затем мой запрос отправляется в мою базу данных, и результаты возвращаются.GSS JAAS не может читать хранилище ключей/вкладку

Вышеупомянутая проблема связана с тем, что я верю в первопричину, или второй проблемой, с которой я столкнулся, это неспособность JDK читать keytab.

com.sun.security.jgss.initiate { 
    com.sun.security.auth.module.Krb5LoginModule required 
    useKeyTab=true 
    useTicketCache=true 
    principal="[email protected]" 
    useDefaultCcache=true 
}; 

com.sun.security.jgss.accept { 
    com.sun.security.auth.module.Krb5LoginModule required 
    ticketCache=true 
    storeKey=true; 
}; 

Apr 22, 2016 2:27:46 PM com.mongodb.diagnostics.logging.JULLogger log 
INFO: Cluster created with settings {hosts=[realm:27017], mode=MULTIPLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500} 
Apr 22, 2016 2:27:46 PM com.mongodb.diagnostics.logging.JULLogger log 
INFO: Adding discovered server realm:27017 to client view of cluster 
Apr 22, 2016 2:27:46 PM com.mongodb.diagnostics.logging.JULLogger log 
INFO: No server chosen by ReadPreferenceServerSelector{readPreference=primary} from cluster description ClusterDescription{type=UNKNOWN, connectionMode=MULTIPLE, all=[ServerDescription{address=realm:27017, type=UNKNOWN, state=CONNECTING}]}. Waiting for 30000 ms before timing out 
Kerberos password for [email protected]: ****** 
Apr 22, 2016 2:27:52 PM com.mongodb.diagnostics.logging.JULLogger log 
INFO: Opened connection [connectionId{localValue:1, serverValue:1001}] to realm:27017 
Apr 22, 2016 2:27:52 PM com.mongodb.diagnostics.logging.JULLogger log 
INFO: Monitor thread successfully connected to server with description ServerDescription{address=realm:27017, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[3, 2, 5]}, minWireVersion=0, maxWireVersion=4, maxDocumentSize=16777216, roundTripTimeNanos=128643970} 
Apr 22, 2016 2:27:52 PM com.mongodb.diagnostics.logging.JULLogger log 
INFO: Discovered cluster type of STANDALONE 
Kerberos password for [email protected]: ****** 
Apr 22, 2016 2:27:57 PM com.mongodb.diagnostics.logging.JULLogger log 
INFO: Opened connection [connectionId{localValue:2, serverValue:1002}] to realm:27017 
****output from mongo**** 

Я понимаю, что я не отключил ввод с клавиатуры, но это потому, что, как вы видите из вывода выше, я не в состоянии прочитать Keytab или кэш.

Сервер и клиент оба имеют соответствие krb5.conf, я могу kinit, ktadd, klist все ожидать принципалов с правильными типами enc.

Я даже дошел до chmod 777 keytab, чтобы убедиться, что это не проблема.

ответ

1

Это была проблема разрешения, я не смог прочитать файл кэша в/TMP

+0

Пожалуйста, отметьте свой собственный ответ «принято» в этом случае. –

Смежные вопросы