WHO: audit:unknown WHAT: supplied credentials: [123+password] ACTION: AUTHENTICATION_FAILED APPLICAT

本文记录了一次CAS认证失败的错误代码详情,分析了认证失败的原因,并提供了开启MySQL远程登录的具体命令,包括授予任意IP地址的root用户所有权限及刷新权限的步骤。

错误代码

WHO: audit:unknown
WHAT: supplied credentials: [123+password]
ACTION: AUTHENTICATION_FAILED
APPLICATION: CAS
WHEN: Thu Jul 25 00:36:27 PDT 2019
CLIENT IP ADDRESS: 192.168.25.1
SERVER IP ADDRESS: 192.168.25.166
=============================================================

>
2019-07-25 00:36:27,160 INFO [com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - <Audit trail record BEGIN
=============================================================
WHO: audit:unknown
WHAT: 1 errors, 0 successes
ACTION: TICKET_GRANTING_TICKET_NOT_CREATED
APPLICATION: CAS
WHEN: Thu Jul 25 00:36:27 PDT 2019
CLIENT IP ADDRESS: 192.168.25.1
SERVER IP ADDRESS: 192.168.25.166
=============================================================

总结原因:未将mysql的远程登录开启

mysql远程登录开启命令:

grant all privileges on *.* to root@"%" identified by 'abc' with grant option;

flush privileges;

其中上面两行代码的意思是给从任意ip地址连接的用户名为root,密码为abc的用户赋予所有的权限。其中的"%"为任意的ip地址,如果想设为特定的值也可以设定为特定的值(以通配符%的内容增加主机/IP地址,也可以直接增加IP地址)。

<think>我们收到了一个关于错误 "ERROR: GUC:audit_user_violation could only be set by initial user." 的解决方案请求。该错误与之前解决的 "audit_grant_revoke" 错误类似,都是由于权限不足导致的。在openGauss中,某些安全相关的GUC参数必须由初始用户(通常为omm)设置。 根据错误信息,我们知道audit_user_violation参数同样需要初始用户才能设置。因此,解决方法与之前类似,但需要验证该参数是否有其他依赖条件(如是否需要先开启安全策略)以及其参数级别(是否需要重启)。 ### 解决步骤 #### 方法一:通过初始用户使用SQL命令设置 1. **使用初始用户omm登录数据库**: ```bash gsql -U omm -d postgres -p 5432 ``` 2. **检查并开启安全策略(如果需要)**: 由于`audit_user_violation`属于安全审计参数,通常需要安全策略已开启(`enable_security_policy=on`)。如果之前未开启,请先设置: ```sql -- 开启安全策略(如果尚未开启) ALTER SYSTEM SET enable_security_policy = on; SELECT pg_reload_conf(); -- 重载配置使部分设置生效[^1] ``` 3. **设置audit_user_violation参数**: ```sql ALTER SYSTEM SET audit_user_violation = 1; -- 1表示开启审计,0表示关闭 ``` 4. **确定参数级别并生效变更**: ```sql -- 查询参数级别(context) SELECT name, context FROM pg_settings WHERE name = 'audit_user_violation'; ``` 根据查询结果: - 如果`context`为`sighup`,则重载配置即可: ```sql SELECT pg_reload_conf(); ``` - 如果`context`为`postmaster`,则需重启数据库: ```bash -- 在gsql中执行系统命令重启(或使用gs_ctl命令在操作系统执行) \! gs_ctl restart -D /path/to/data_directory ``` 5. **验证设置**: ```sql SHOW audit_user_violation; ``` #### 方法二:使用gs_guc工具设置(适合集群环境) 1. **开启安全策略**(如果尚未开启): ```bash gs_guc reload -N all -I all -c "enable_security_policy=on" ``` 2. **设置audit_user_violation参数**: ```bash gs_guc set -N all -I all -c "audit_user_violation=1" ``` 3. **根据工具提示决定是否重启**: - 如果输出中包含“NOTICE: please restart the database for the options to take effect”,则需要重启整个集群: ```bash gs_om -t restart ``` - 否则,只需重载配置: ```bash gs_guc reload -N all -I all -c "audit_user_violation=1" ``` ### 注意事项 1. **权限要求**:必须使用初始用户(omm)执行设置操作。 2. **参数依赖**:确保`enable_security_policy`已开启,否则审计可能不会生效[^1]。 3. **集群环境**:在集群中,使用`gs_guc`工具可以同时设置所有节点。 ### 相关问题 §§相关问题§§ 1. 如何查看openGauss中GUC参数的当前值和默认值? 2. 在openGauss中,哪些安全审计参数需要初始用户权限? 3. 如何配置openGauss的审计功能以记录用户权限变更? 4. 为什么在设置某些GUC参数后需要重启数据库? [^1]: 安全策略开启是审计功能生效的前提条件。 </think>### 解决 `ERROR: GUC:audit_user_violation could only be set by initial user` 错误 #### 🔍 错误原因与核心限制 该错误与之前解决的 `audit_grant_revoke` 错误本质相同: 1. **权限层级限制**: - `audit_user_violation` 属于核心安全审计参数 - 仅**初始用户 (omm)** 有权限修改(即使是 SYSDBA 也不行) - 普通用户尝试设置会触发此错误 2. **安全策略依赖**: - 需先开启 `enable_security_policy=on`(由初始用户操作) - 否则审计功能无法生效[^1] --- #### ✅ 解决步骤 ##### 方法一:通过 SQL 命令设置 ```bash # 1. 使用初始用户 omm 登录数据库 gsql -U omm -d postgres -p 5432 ``` ```sql -- 2. 开启安全策略(必需前置条件) ALTER SYSTEM SET enable_security_policy = on; SELECT pg_reload_conf(); -- 动态生效配置 -- 3. 设置权限审计参数 ALTER SYSTEM SET audit_user_violation = 1; -- 1=开启审计, 0=关闭 -- 4. 确认参数级别(决定生效方式) SELECT name, context FROM pg_settings WHERE name='audit_user_violation'; /* 可能的输出: name | context -----------------+---------- audit_user_violation | sighup -> 重载生效 audit_user_violation | postmaster-> 需重启 */ ``` ##### 方法二:通过 gs_guc 工具设置 ```bash # 1. 开启安全策略 gs_guc reload -N all -I all -c "enable_security_policy=on" # 2. 设置审计参数 gs_guc set -N all -I all -c "audit_user_violation=1" # 3. 根据工具提示操作 gs_guc reload -N all -I all # 若返回"need restart"则需重启 gs_om -t restart # 集群重启命令 ``` --- #### ️ 关键注意事项 1. **权限验证**: ```sql SELECT CURRENT_USER; -- 必须返回 omm ``` 2. **参数依赖性**: - 未开启 `enable_security_policy` 时设置审计参数无效 - 审计功能依赖参数 `track_stmt_stat_level=‘L0,L0’`[^4] 3. **审计参数关联**: - `audit_grant_revoke`:审计授权操作 - `audit_user_violation`:审计用户权限违规 - `audit_system_object`:审计系统对象访问(默认值 `67121159`)[^1] --- #### 💡 配置验证技巧 ```sql -- 验证参数设置 SHOW audit_user_violation; -- 查看生效中的审计规则 SELECT * FROM pg_audit; ``` #### 🔐 安全加固建议 ```sql -- 审计所有设置安全参数的操作 CREATE AUDIT POLICY audit_guc_changes ON ROLE omm FILTER ON TAG(ALTER SYSTEM); ``` #### 💎 最佳实践流程图 ```mermaid graph TD A[触发错误] --> B{当前用户=omm?} B -->|否| C[切换初始用户] B -->|是| D[开启 enable_security_policy] D --> E[设置 audit_user_violation] E --> F{参数级别检查} F -->|SIGHUP| G[重载配置] F -->|POSTMASTER| H[重启数据库] G --> I[验证审计功能] H --> I ``` ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值