在 Ubuntu 10.04.3 LTS 上,安装 Tomcat 6 后,添加 manager/admin 帐户的方法是将这样的记录添加到/etc/tomcat6/tomcat-users.xml:
<role rolename="manager"/>
<role rolename="admin"/>
<user username="user" password="password" roles="manager,admin"/>
Run Code Online (Sandbox Code Playgroud)
该密码是明文形式,我对此感到不舒服。有没有办法改用散列之类的东西?如果您有非 Ubuntu 解决方案,我可能可以翻译它。
Ale*_*lex 15
取自本页
server.xml使用哈希算法在您的元素上添加“摘要”属性作为值(可能的值为md5,sha-1或sha-256,强烈建议使用后者)。$CATALINE_HOME/bin/digest.sh -a <YOUR_HASH_ALGORITHM> <YOUR_PASSWORD><YOUR_PASSWORD>:<ENCRYPTED_PASSWORD>password属性的值替换tomcat-users.xml为<ENCRYPTED_PASSWORD>另请参阅:Tomcat 摘要密码
对于来这里寻找有关 Tomcat 8.0.15 或更新版本信息的任何人,您可能应该改用 SecretKeyCredentialHandler 和 PBKDF2,因为它比简单的消息摘要更安全(即更难破解)。
例如,在您的 server.xml 中:
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase">
<CredentialHandler className="org.apache.catalina.realm.SecretKeyCredentialHandler"
algorithm="PBKDF2WithHmacSHA512"
keyLength="256"
/>
</Realm>
Run Code Online (Sandbox Code Playgroud)
使用此配置,使用以下命令从您的密码生成散列输出:
$CATALINA_HOME/bin/digest.sh -a "PBKDF2WithHmacSHA512" -i 100000 -s 16 -k 256 -h "org.apache.catalina.realm.SecretKeyCredentialHandler" "YOUR_PASSWORD"
Run Code Online (Sandbox Code Playgroud)
使用您选择的迭代计数和盐大小(以字节为单位)。请注意,由于存在错误 60446,密钥长度需要与 server.xml 中定义的相同。不过,它应该很快就会在上游修复。
警告!请确保您的密码不会保存在您的 shell 的命令历史记录中。在 bash 中,这是通过在命令前添加一个空格来实现的。
该命令将以纯文本格式输出您的密码和生成的凭据的十六进制表示,您应该将其用作 tomcat-users.xml 中的密码属性。
CredentialHandler 组件的文档可以在这里找到。可以在此处找到算法属性的可能值。
| 归档时间: |
|
| 查看次数: |
23308 次 |
| 最近记录: |