11.9. 服务器和客户端验证故障排除

11.9.1. 错误消息

11.9.1. 错误消息

验证错误会报告在以下日志文件中:

  • 安装日志:

    • /var/adm/log(仅限 Oracle Solaris)

    • /var/log(仅限 Oracle Linux)

  • 配置日志:

    • /var/adm/log(仅限 Oracle Solaris)

    • /var/log/SUNWut(仅限 Oracle Linux)

  • 通用日志文件:

    • /var/opt/SUNWut/log

    • /var/opt/SUNWut/srds/log

    • /var/opt/SUNWut/srds/replog

记录到 /var/opt/SUNWut/log/messages 中的消息是通过 syslog 服务(在 syslogd 手册页中有述)提供的。这些消息的一般格式为:

timestamp thread_name message_class message

例如:

May 7 15:01:57 e47c utauthd: [ID 293833 user.info] Worker3 NOTICE: SESSION_OK pseudo.080020f8a5ee

消息组件定义如下:

  • timestamp 格式:year.month.day hours:minutes:seconds

  • thread_name:

    • Worker# - 处理客户端验证、访问控制和会话监视。具有相同线程名的信息是相关的。当 Worker# 线程与客户端断开后,从内存中清除连接信息时,会出现异常情况。当出现 Worker# DESTROY 消息后,再次使用该 Worker# 线程名称将与上一次所使用的线程名称无关。换而言之,重新使用了线程名称。

    • SessionManager# - 代表 Worker# 线程与 utsessiondon 进行通讯。

    • AdminJobQ - 用于环绕库的实现,否则该库对线程来说是不安全的。

    • CallBack# - 与 utload 等应用程序进行通讯。

    • WatchID - 用于从连接轮询数据或终端

    • Terminator - 清除终端会话

    • Group Manager - 主要的组管理线程

  • message_class:

    • CLIENT_ERROR - 表示客户端的异常行为。如果客户端被重新引导,则常规操作中也可能产生这些消息。

    • CONFIG_ERROR - 表示系统配置错误。检测到此类错误后,验证管理器将退出。

    • NOTICE - 表示常规事件。

    • UNEXPECTED - 记录常规操作中意外出现但不致命的事件或情况。

    • DEBUG - 仅在显示启动时出现,由开发团队使用。Debug 消息会暴露会话 ID,而为安全起见会话 ID 必须是保密的。

表 11.3. 服务器和客户端验证错误消息示例

错误类别

消息

说明

CLIENT_ERROR

...Exception ... : cannot send keepAliveInf

尝试向客户端发送持续活动的消息时出错。

...keepAlive timeout

客户端未能在分配的时间内作出响应。会话的连接正在断开。

duplicate key:

客户端未正确实现验证协议。

invalid key:

客户端未正确实现验证协议。

CONFIG_ERROR

attempt to instantiate CallBack 2nd time.

程序错误。

AuthModule.load

加载配置模块时发生问题。

Cannot find module

程序或安装错误。

NOTICE

"discarding response: " + param

不存在可接收客户端响应的控制应用程序。

"NOT_CLAIMED PARAMETERS: " + param

存在一个不为任何验证模块确认的令牌。

...authentication module(s) loaded.

已经加载了验证模块的通知。

...DISCONNECT ...

断开连接的正常通知。

UNEXPECTED

"CallBack: malformed command"

用户应用程序(例如 utloadutidle)的语法错误。

.../ ... read/0:" + ie

可能是程序错误。

.../ ... read/1: ... Exception ...

从客户端读取消息时出错。

.../... protocolError: ...

此消息报告各种违反协议的情况。这种错误情形也是 utauthd 强制客户端复位的一种方法。