IBM WebSphere Application Server常见问题及解答:在将本地系统用作 Windows? 上的安全注册表时,WebSphere Application Server为何需要“Act as part of the operating system”权限?
关于 IBM WebSphere Application Server 产品家族的问题集锦
IBM WebSphere Application Server 常见问题及解答专题是关于 IBM WAS 产品家族的问题集锦,其中收集了客户在使用此产品时遇到的一些常见问题。这本问题解答可以被看作是对产品使用手册以及 WebSphere Application Server 在线信息中心的补充。WAS 故障诊断的常用工具有哪些?
问题:在将本地系统用作 Windows? 上的安全注册表时,WebSphere Application Server
为何需要“Act as part of the operating system”权限?
答:
这个问题的回答实际上是确定的,不过在此我还得使用视情况而定 进行回答。
在任何操作系统上,如果用户注册表保存在本地,WebSphere Application Server
就需要执行本地操作系统调用,用于对底层用户注册表进行认证。对于 Windows,必须有“Act as part of the
operating system”权限才能执行特定于 Windows 的本地操作系统调用。(说一点题外话,要在 UNIX?
上使用本地调用,您必须以 root 用户身份运行 WebSphere Application Server,因为 root
是可以查询注册表来获得系统上所有用户 ID 的唯一用户 ID。)我认为,操作系统限制对密码检查 API
进行访问的原因是,如果不加限制,任何用户都可以使用任何用户级程序调用它们,而且有可能使用字典攻击来试图获取用户的密码。强制用户首先获得
root(或作为操作系统的一部分)访问权限来限制此类风险的发生。当然,这种方法不是完美的,但还是有一些帮助。别忘了,这不是“WebSphere
要求”,而只是底层操作系统的要求。
因为操作系统各有特点,所以一般建议将 LDAP
用作安全注册表。这样,在使用不同的操作系统进行部署、测试和生产时,就不必考虑操作系统之间的差异。使用 LDAP 的另一个优点是,在
WebSphere Application Server 使用 LDAP 服务器(通过 LDAP 绑定)进行认证时,您不需要使用
LDAP 管理用户 ID;LDAP 目录中的任何有效的用户 ID
和密码都可以这样使用。另一个方法是使用自定义用户注册表,该注册表在开发环境中使用具有用户 ID
和密码的文件。因此,除了没有权限的用户外,如果取消授予操作系统权限的要求,则 LDAP 和用户自定义注册表都是不错的选择。