2.9. Secure Global Desktop 验证故障排除

可使用本节中的信息解决用户登录到 SGD 时所遇到的问题。本节包括以下主题:

2.9.1. 针对验证问题设置日志过滤器

为帮助诊断 Secure Global Desktop 验证问题,可使用下表中介绍的一个或多个日志过滤器来获取详细信息。

日志过滤器

用途

server/directoryservices/*

有关使用目录服务的验证机制的信息。

适用于 Active Directory、LDAP 和第三方验证。

server/login/*

有关用户尝试登录时所发生的情况的信息。

适用于所有验证机制。

server/securid/*

有关 RSA 验证管理器连接的信息。

适用于 SecurID 验证。

有关设置日志过滤器的信息,请参见第 7.4.3 节 “使用日志过滤器对 SGD 服务器问题进行故障排除”

2.9.2. 超出登录失败次数后拒绝用户访问 SGD

SGD 管理员可以启用登录失败处理程序,以便在三次登录尝试均失败后拒绝用户访问 SGD。请参见第 2.9.2.1 节 “如何启用登录失败处理程序”。只有用户在本地系统信息库中有自己的用户配置文件对象时,这个附加的安全措施才有效。对于 "System Objects"(系统对象)组织中的默认配置文件对象,此安全措施无效。有关详细信息,请参见

可以对登录尝试次数进行配置,请参见第 2.9.2.2 节 “如何更改登录尝试次数”。默认情况下,用户可以尝试登录三次。登录尝试次数为每个 SGD 服务器的本地设置,不会复制到整个阵列。仅当达到服务器的登录限制时,才在整个阵列内拒绝用户访问。例如,用户可以尝试登录每个 SGD 服务器两次,但仅当他们在第三次登录服务器失败时才会拒绝他们访问阵列中的其他成员。

如果拒绝用户访问,他们仅被拒绝访问 SGD。他们仍可以访问安装了 SGD 的主机

如果拒绝用户访问,SGD 将在管理控制台中对用户配置文件对象取消选中 "General"(常规)选项卡上的 "Login"(登录)复选框 (--enabled false)。要再次允许用户访问,必须选中该复选框 (--enabled true)。

出于安全原因,用户不会得到他们的帐户已遭禁用的任何提示。他们所看到的消息与键入错误密码时显示的消息相同。

2.9.2.1. 如何启用登录失败处理程序

只能通过命令行启用登录失败处理程序。

  1. 使用以下命令:

    $ tarantella config edit \
    --tarantella-config-components-loginfailurehandler 1 \
    --tarantella-config-components-loginfailurefilter 1

2.9.2.2. 如何更改登录尝试次数

确保没有用户登录到阵列中的 SGD 服务器,并且没有正在运行的应用程序会话(包括暂停的应用程序会话)。

  1. 以超级用户 (root) 身份登录到主 SGD 服务器。

  2. 停止主 SGD 服务器。

  3. 设置登录尝试次数。

    使用以下命令:

    # tarantella config edit \
    --com.sco.tta.server.login.LoginFailureHandler.properties-attemptsallowed num
    
  4. 启动主 SGD 服务器。

  5. 热重新启动所有辅助 SGD 服务器。

    使用以下命令:

    # tarantella restart sgd --warm

2.9.3. Web 验证故障排除

用户使用 Web 验证登录到 SGD 时经常遇到的问题包括:

2.9.3.1. Web 验证失败

如果用户无法通过 Web 服务器验证,他们可能会看到一条如 "401 Authorization Required"(401 需要授权)这样的消息。这表明用户名和密码存在问题,或者 Web 服务器配置有问题。

检查以下问题:

  • 用户在 Web 服务器密码文件中是否有相应条目?

  • Web 服务器配置使用的密码文件是否正确?

  • 如果使用的是 SGD Web 服务器,ttaserv 用户是否可以访问密码文件?如果此用户无法读取密码文件, Web 验证将失败。

2.9.3.2. 用户看到标准的 SGD 登录页面

如果 Web 验证设置错误,或者由于任何原因而失败,SGD 将显示标准登录页面。请利用以下核对表来解决问题。

Questions

Questions and Answers

2.9.3.2.1: SGD URL 是否得到正确保护?

对于 Webtop,必须将 Web 服务器设置为保护 /sgd URL。

2.9.3.2.2: 是否将 Tomcat 配置为信任 Web 验证?

必须将 SGD Web 服务器的 Tomcat 组件配置为信任 Apache Web 服务器验证。

对于每个阵列成员,编辑 /opt/tarantella/webserver/tomcat/tomcat-version/conf/server.xml 文件。对于 AJP 1.3 Connector,将 tomcatAuthentication="false" 属性添加到 <Connector> 元素中。

2.9.3.2.3: 用户在本地系统信息库中是否有用户配置文件?

如果 SGD 配置依赖于用户在本地系统信息库中拥有用户配置文件对象,并且您没有启用一个备用配置文件对象,用户可能无法登录。如果出现这种情况,并且您启用了日志记录,请在日志文件中搜索表明 SGD 无法为所验证用户找到匹配项的消息。

为用户创建用户配置文件,或者启用一个备用配置文件对象。有关更多详细信息,请参见第 2.6.1 节 “第三方验证的工作方式”

2.9.3.2.4: 用户是否为 SGD 管理员?

默认情况下,如果 SGD 管理员已通过 Web 服务器验证,其无法访问 SGD。要更改此行为,请参见第 2.6.8 节 “SGD 管理员和第三方验证”了解详细信息。

2.9.3.2.5: 是否更改了可信用户?

如果更改了可信用户的用户名和密码,您是否检验过新用户是否能正常使用?有关详细信息,请参见第 2.6.9 节 “可信用户和第三方验证”

2.9.3.3. 用户获得错误的 Webtop

使用 Web 验证时,SGD 执行搜索来确定用户身份和登录配置文件。将使用找到的第一个匹配的用户配置文件。

在 SGD 日志文件中搜索指出用户不明确的消息。这表明有多个用户身份与该用户匹配。

要解决这种情况,可执行以下操作之一:

  • 接受第一个匹配项

  • 尝试手动解决不明确之处,例如,创建或修改用户配置文件

2.9.4. 用户无法登录任何 SGD 服务器

如果所有用户(包括 UNIX 系统 root 用户)都无法登录到任何 SGD 服务器,则可能是由于以下原因之一:

  • 所有验证机制均被禁用

  • 到所有 SGD 服务器的用户登录均被禁用

要检查是否禁用了所有验证机制,请使用以下命令:

$ tarantella config list | grep login

如果禁用了所有验证机制,请通过命令行启用 UNIX 系统验证机制,如下所示:

$ tarantella config edit --login-ens 1

一旦启用了 UNIX 系统验证机制,便可使用用户名 Administrator 和 UNIX 系统 root 用户的密码登录到管理控制台。然后可以重新配置验证。

要检查是否对某个 SGD 服务器禁用了用户登录,请使用以下命令:

$ tarantella config list --server serv... --server-login

如果禁用了到所有 SGD 服务器的用户登录,请使用以下命令启用用户登录:

$ tarantella config edit --array --server-login 1

2.9.5. 对来宾用户使用共享帐户

SGD 允许多个用户使用同一个用户名和密码登录,例如,让来宾用户共用一个帐户。

注意

匿名用户始终被视为使用共享帐户,请参见第 2.3 节 “匿名用户验证”

共享一个用户配置文件对象的用户将共用相同的应用服务器密码。来宾用户不能添加或更改密码缓存中的条目。这意味着,除非 SGD 管理员已为来宾用户缓存了应用服务器密码,否则每当来宾用户启动应用程序,系统都会提示他们输入密码。可使用管理控制台或 tarantella passcache 命令为来宾用户管理应用服务器密码。

2.9.5.1. 如何在用户之间共享用户配置文件

  1. 在管理控制台中,转到 "User Profiles"(用户配置文件)选项卡。

  2. 选择要共享的用户配置文件。

    此时将显示 "General"(常规)选项卡。

  3. 对于 "Login"(登录),选中 "Multiple"(多个)复选框。

  4. 单击 "Save"(保存)。

2.9.6. 在启用安全服务的情况下 Oracle Solaris 用户无法登录

如果使用 Oracle Solaris 客户端设备的用户发现,在启用 SGD 安全服务时他们无法登录到 SGD 服务器,请检查并确保客户端设备上存在 /dev/random 设备。

SGD 安全服务需要使用 /dev/random 设备。如果缺少该设备,请安装包含该设备的 Oracle Solaris 修补程序。

2.9.7. 用户尝试登录时,显示 "Ambiguous User Name"(用户名不明确)对话框

仅向共享人员对象属性并使用同一密码的用户显示 "Ambiguous User Name"(用户名不明确)对话框。

例如,有两个名为 John Smith (cn=John Smith) 的用户,并且他们选择了相同的密码。他们的电子邮件地址和用户名不同。如果他们使用名称 John Smith 登录,SGD 将显示 "Ambiguous User Name"(用户名不明确)对话框,要求他们提供电子邮件地址或用户名。显示该对话框的原因是他们所提供的凭证与多个用户匹配。如果他们使用电子邮件地址或用户名登录,则可以成功登录。

仅当使用在本地系统信息库中搜索用户 ID 的 LDAP 验证或 UNIX 系统验证时,才会显示 "Ambiguous User Name"(用户名不明确)对话框。

解决方法是确保用户的密码唯一。或者,将用户配置文件配置为具有唯一属性。SGD 使用名称 (--name)、登录名 (--user) 和电子邮件地址 (--email) 来识别和明确用户。