Rundeck:http 错误 500:以管理员身份登录时
Posted
技术标签:
【中文标题】Rundeck:http 错误 500:以管理员身份登录时【英文标题】:Rundeck: http error 500: when logging in as admin 【发布时间】:2018-09-21 16:04:36 【问题描述】:我一直在尝试设置 rundeck 服务器,但是当提供的身份验证无法提供对项目的完全访问权限时遇到了几个问题,并且当我尝试修改配置文件时,它无法通过身份验证如下所示。
HTTP ERROR: 500
Problem accessing /user/j_security_check. Reason:
java.io.IOException: Configuration Error:
No such file or directory
我的 jaas-loginmodule.conf 看起来像这样:
com.dtolabs.rundeck.jetty.jaas.JettyCachingLdapLoginModule sufficient
debug="true"
contextFactory="com.sun.jndi.ldap.LdapCtxFactory"
providerUrl="ldaps://sb2sys3.derivatives.com"
bindDn="uid=svldap,cn=users,cn=accounts,dc=derivatives,dc=com"
bindPassword="T0wR0pe!"
authenticationMethod="simple"
forceBindingLoginUseRootContextForRoles="true"
forceBindingLogin="true"
userBaseDn="cn=users,cn=accounts,dc=derivatives,dc=com"
userRdnAttribute="uid"
userIdAttribute="uid"
userPasswordAttribute="userPassword"
userObjectClass="inetOrgPerson"
roleBaseDn="cn=groups,cn=accounts,dc=derivatives,dc=com"
roleNameAttribute="cn"
roleMemberAttribute="member"
roleObjectClass="groupOfNames"
cacheDurationMillis="300000"
supplementalRoles="user"
reportStatistics="true";
org.eclipse.jetty.jaas.spi.PropertyFileLoginModule required
debug="true"
file="/etc/rundeck/realm.properties";
;
我还编辑了 realm.properties 文件以拥有一个角色为 admin 的用户,该角色也在 web.xml 中进行了更改。
当前的 admin.aclpolicy 如下所示:
description: Admin, all access.
context:
project: '.*' # all projects
for:
resource:
- allow: '*' # allow read/create all kinds
adhoc:
- allow: '*' # allow read/running/killing adhoc jobs
job:
- allow: '*' # allow read/write/delete/run/kill of all jobs
node:
- allow: '*' # allow read/run for all nodes
by:
group: admin
---
description: Admin, all access.
context:
application: 'rundeck'
for:
resource:
- allow: '*' # allow create of projects
project:
- allow: '*' # allow view/admin of all projects
project_acl:
- allow: '*' # allow admin of all project-level ACL policies
storage:
- allow: '*' # allow read/create/update/delete for all /keys/* storage content
by:
group: admin
【问题讨论】:
检查 rundeck 日志 "tail -f /var/log/rundeck/*.log" 并尝试从浏览器访问它。确保您默认拥有所有 conf 和 .aclpolicy 文件。它会起作用的。 【参考方案1】:您收到的错误似乎与 JAAS_CONF 变量有关。
我设法在 CentOS7 的 rpm 安装中重现了准确的 500 错误。
通过注释掉 /etc/rundeck/profile 中的 JAAS_CONF 变量,如果你设置了它,/etc/sysconfig/rundeckd 或 /etc/default/rundeckd,错误显示空 java.io.IOException 和“配置错误:没有这样的文件或目录”,因此这些文件中的错误类型可能会影响身份验证。
我建议您对这些文件进行一次完整的检查,以确认一切正常。
希望对你有帮助
【讨论】:
以上是关于Rundeck:http 错误 500:以管理员身份登录时的主要内容,如果未能解决你的问题,请参考以下文章
如何处理 Spring Rest API 上的内部服务器错误(500)以自定义消息?