您好,在互联网上阅读了许多文章之后,我知道jboss wildfly在tmp目录中编写了一个质询文件以进行静默身份验证(JBOSS-LOCAL-USER机制)。
根据我的理解,质询文件应位于例如$ JBOSS_HOME / standalone / tmp / auth / local2639861357474361285.challenge。如果管理CLI客户端可以在同一台计算机上成功访问文件,则静默身份验证成功。
让我们说:
应用服务器主机名:appserver
jboss wildfly版本:17.0.1
wildfly作为服务帐户运行-wildfly:wildfly
我的作品帐户:mike
如果我使用Mike SSH到Appserver,然后运行$ JBOSS_HOME / bin / jboss-cli.sh -c,我认为我应该使静默身份验证失败,但最终会成功。然后我尝试:
0x0000:4500 0060 abf6 4000 4006 9721 0a3f 7181 E..` .. @。@ ..!。??
0x0010:0a3f 7181 276a 932e 7a86 87cf 5604 7121。?q.'j..z ... V.q!
0x0020:8018 0058 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 3933 cal5363900306893
0x0050:3137 3238 3532 2e63 6861 6c6c 656e 6765 172852。挑战
是否有任何系统属性来设置质询文件的位置?感谢您的帮助!
答案 0 :(得分:0)
Wildfly似乎正在使用java.io.tmpdir
系统属性。一种替代方法是使用命令行运行standalone.sh
。例如,如果我运行$WILDFLY_HOME/bin/standalone.sh -Djava.io.tmpdir=/var/tmp
,我可以在启动日志中看到:
...
java.io.tmpdir = /var/tmp
...
没有它我得到:
...
java.io.tmpdir = /tmp
...
答案 1 :(得分:0)
事实证明,当我根据https://docs.jboss.org/author/display/WFLY/Elytron+Subsystem#ElytronSubsystem-usedefaultelytronmgmtauth配置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进行管理身份验证。