代码之家  ›  专栏  ›  技术社区  ›  user316114

GSS JAAS无法读取密钥库/选项卡

  •  1
  • user316114  · 技术社区  · 8 年前

    我正在尝试使用Kerberos连接到数据库,除了两个问题之外,其他一切都正常。首先,当我执行代码时,我被要求输入两次密码,而不是一次。然后我的查询被发送到我的数据库并返回结果。

    上述问题源于我所相信的根本原因,或者我所面临的第二个问题是,我JDK无法读取密钥表。

    com.sun.security.jgss.initiate {
        com.sun.security.auth.module.Krb5LoginModule required
        useKeyTab=true
        useTicketCache=true
        principal="principal@REALM"
        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 principal@REALM: ******
    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 principal@REALM: ******
    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****
    

    我知道我没有禁用键盘输入,但这是因为从上面的输出中可以看到,我无法读取键标签或缓存。

    服务器和客户机都有匹配的krb5.conf,我能够kinit、ktadd、klist都期望主体具有正确的enc类型。

    为了确保这不是一个权限问题,我甚至使用chmod 777键。

    1 回复  |  直到 8 年前
        1
  •  1
  •   user316114    8 年前

    这是一个权限问题,我无法读取/tmp下的缓存文件