Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jboss wildfly 17.0.1-静默身份验证质询文件的正确位置是什么?_Jboss_Wildfly - Fatal编程技术网

jboss wildfly 17.0.1-静默身份验证质询文件的正确位置是什么?

jboss wildfly 17.0.1-静默身份验证质询文件的正确位置是什么?,jboss,wildfly,Jboss,Wildfly,大家好,在阅读了很多关于internet的文章后,我知道jboss wildfly在tmp目录中编写了一个挑战文件,用于静默身份验证(jboss-LOCAL-USER机制)。 据我所知,质询文件应位于,例如$JBOSS_HOME/standalone/tmp/auth/local26398613574361285.challenge。如果management cli客户端可以在同一台计算机上成功访问该文件,则静默身份验证将成功 比如说: 应用服务器主机名:appserver JBossWild

大家好,在阅读了很多关于internet的文章后,我知道jboss wildfly在tmp目录中编写了一个挑战文件,用于静默身份验证(jboss-LOCAL-USER机制)。

据我所知,质询文件应位于,例如$JBOSS_HOME/standalone/tmp/auth/local26398613574361285.challenge。如果management cli客户端可以在同一台计算机上成功访问该文件,则静默身份验证将成功

比如说: 应用服务器主机名:appserver JBossWildfly版本:17.0.1 wildfly作为服务帐户运行-wildfly:wildfly 我的工作账户:迈克

如果我使用mike通过ssh连接到appserver,然后运行$JBOSS_HOME/bin/JBOSS-cli.sh-c,我认为静默身份验证应该失败,但最终成功了。然后我试着:

  • tcpdump收听9990,查看是否有任何有价值的信息,并发现:
  • 0x0000:4500 0060 abf6 4000 4006 9721 0a3f 7181 E.`.@.@。。!。?Q 0x0010:0a3f 7181 276a 932e 7a86 87cf 5604 7121.?q.'j..z..V.q! 0x0020:80180058 f7d2 0000 0101 080a 0fcc 2e80…X。。。。。。。。。。。。 0x0030:0fcc 2e6a 0000 0028 032f 746d 702f 6c6f…j.(/tmp/lo 0x0040:6361 6c35 3336 3339 3030 3330 3638 3933cal5363900306893 0x0050:3137 3238 3532 2e63 6861 6c6c 656e 6765172852.挑战

  • auditctl通过各种路径查看是否有任何有价值的信息,并发现质询文件是在/tmp/

  • 是否有任何系统属性来设置质询文件的位置?感谢您的帮助!

    Wildfly似乎正在使用
    java.io.tmpdir
    系统属性。覆盖此属性的一种方法是使用命令行运行
    standalone.sh
    。如果我运行
    $Wildfly\u HOME/bin/standalone.sh-Djava.io.tmpdir=/var/tmp例如,我可以在启动日志中看到:

    ...
        java.io.tmpdir = /var/tmp
    ...
    
    没有它,我得到:

    ...
        java.io.tmpdir = /tmp
    ...
    

    事实证明,根据配置http接口后,我的http接口设置变为:

     <management-interfaces>
            <http-interface http-authentication-factory="management-http-authentication" ssl-context="httpsSSC">
                <http-upgrade enabled="true" sasl-authentication-factory="management-sasl-authentication"/>
                <socket-binding http="management-http" https="management-https"/>
            </http-interface>
        </management-interfaces>
    
    
    
    质询文件将在/tmp/localxxxxxxxx.challenge创建


    最后,我决定坚持默认设置,而不是使用elytron进行管理身份验证。

    Hi@stdunbar,谢谢您的回复。指定java.io.tmpdir后,质询文件将保存到特定位置。我下载了14.0.1、17.0.0和17.0.1,并使用**默认设置运行standalone.sh”(只需指定绑定地址为127.0.0.1),我发现在所有情况下,质询文件都保存到$jboss_home/standalone/tmp/auth。我的jboss wildfly 17.0.1配置为在多个区域使用elytron。我不知道这些设置是否会导致问题……无论如何,我会继续尝试。谢谢你