打印

停止启用了安全性的WAS Server而不手动输入密码之第二种选择

停止启用了安全性的WAS Server而不手动输入密码之第二种选择

众所周知的应当是如下最简单的方式了
%PROFILE_HOME%\bin\stopServer.bat serverXyz -username Xyz -password Xyz
但是用户名与密码全是明文了,在某些场景下可能不太符合

现在给出第二种选择方法
set PROFILE_HOME=D:\IBM\WebSphere\AppServer\6.1\profiles\AppSrvSingle
cd %PROFILE_HOME%\properties
先备份一下 sas.client.props 与 soap.client.props 文件

由于连接的方式有两种 : SOAP 与 RMI,默认是 SOAP 方式
1. SOAP 方式的修改
打开 soap.client.props 文件,约在第 26 行
com.ibm.SOAP.loginUserid=
com.ibm.SOAP.loginPassword=
默认下,值均为空的,填入目前正在使用的用户与密码,比如均为WebSphere
com.ibm.SOAP.loginUserid=WebSphere
com.ibm.SOAP.loginPassword=WebSphere
然后执行
%PROFILE_HOME%\bin\PropFilePasswordEncoder.bat %PROFILE_HOME%\properties\soap.client.props com.ibm.SOAP.loginPassword -Backup
执行成功后,会有如下提示
NOTE:  all specified passwords already encoded in target file == %PROFILE_HOME%\properties\soap.client.props

NOTE:  Backup file %PROFILE_HOME%\properties\soap.client.props.bak contains unencoded passwords
打开 soap.client.props 文件可以看到密码已经加密,如下
com.ibm.SOAP.loginUserid=WebSphere
com.ibm.SOAP.loginPassword={xor}CDo9DC83Oi06
然后停止WAS Server直接采用如下命令停止WAS Server即可,不需要再输入用户名与密码了
%PROFILE_HOME%\bin\stopServer.bat server1

%PROFILE_HOME%\bin\stopServer.bat server1 -conntype SOAP
默认的SOAP连接端口是 SOAP_CONNECTOR_ADDRESS 端口

2. RMI 方式的修改与 SOAP 方式类同
打开 sas.client.props 文件,约在第 90 行
com.ibm.CORBA.loginUserid=
com.ibm.CORBA.loginPassword=
默认下,值均为空的,填入目前正在使用的用户与密码,比如均为WebSphere
com.ibm.CORBA.loginUserid=WebSphere
com.ibm.CORBA.loginPassword=WebSphere
然后执行
%PROFILE_HOME%\bin\PropFilePasswordEncoder.bat %PROFILE_HOME%\properties\sas.client.props com.ibm.CORBA.loginPassword -Backup
执行成功后,会有如下提示
NOTE:  all specified passwords already encoded in target file == %PROFILE_HOME%\properties\sas.client.props

NOTE:  Backup file %PROFILE_HOME%\properties\sas.client.props.bak contains unencoded passwords
打开 soap.client.props 文件可以看到密码已经加密,如下
com.ibm.CORBA.loginUserid=WebSphere
com.ibm.CORBA.loginPassword={xor}CDo9DC83Oi06
需要注意的是 RMI 方式还需要更改如下键值
com.ibm.CORBA.loginSource=prompt

com.ibm.CORBA.loginSource=properties
然后停止WAS Server直接采用如下命令停止WAS Server即可,不需要再输入用户名与密码了
%PROFILE_HOME%\bin\stopServer.bat server1 -conntype RMI -port 2809
默认的RMI连接端口是 BOOTSTRAP_ADDRESS 端口
简单就是美!
我的Java:http://www.Java2Class.net

TOP

原贴是独立WAS应用服务器的方式。

补充一下集群的方式,针对集群来讲有:
dmgr、nodeagent、单独的server1、集群的成员mem01、mem02之类的

一、SOAP方式
soap.client.props

com.ibm.SOAP.loginUserid=WebSphere
com.ibm.SOAP.loginPassword={xor}CDo9DC83Oi06


以Windows为例
set WAS_PROFILE=C:\IBM\WebSphere\AppServer\9.0.5\profiles

启动
1、dmgr
%WAS_PROFILE%\Dmgr01\bin\startManager.bat

2、nodeagent
%WAS_PROFILE%\AppSrv01\bin\startNode.bat

3、服务器
单个server1
%WAS_PROFILE%\AppSrv01\bin\startServer.bat server1

集群成员mem01 mem02
%WAS_PROFILE%\AppSrv01\bin\startServer.bat mem01
%WAS_PROFILE%\AppSrv01\bin\startServer.bat mem02


无密停止
1、服务器
%WAS_PROFILE%\AppSrv01\bin\stopServer.bat mem01
%WAS_PROFILE%\AppSrv01\bin\stopServer.bat mem02

%WAS_PROFILE%\AppSrv01\bin\stopServer.bat server1

2、nodeagent
%WAS_PROFILE%\AppSrv01\bin\stopNode.bat

3、dmgr
%WAS_PROFILE%\Dmgr01\bin\stopManager.bat

测试通过



二、RMI方式
sas.client.props

com.ibm.CORBA.loginSource=properties
# RMI/IIOP user identity
com.ibm.CORBA.loginUserid=WebSphere
com.ibm.CORBA.loginPassword={xor}CDo9DC83Oi06


启动
1、dmgr
%WAS_PROFILE%\Dmgr01\bin\startManager.bat

2、nodeagent
%WAS_PROFILE%\AppSrv01\bin\startNode.bat

3、服务器
单个server1
%WAS_PROFILE%\AppSrv01\bin\startServer.bat server1

集群成员mem01 mem02
%WAS_PROFILE%\AppSrv01\bin\startServer.bat mem01
%WAS_PROFILE%\AppSrv01\bin\startServer.bat mem02


无密停止
1、服务器
单服务器
server1 BOOTSTRAP_ADDRESS 9810
%WAS_PROFILE%\AppSrv01\bin\stopServer.bat server1 -conntype RMI -port 9810 -trace

集群成员服务器
mem01 BOOTSTRAP_ADDRESS 9813
%WAS_PROFILE%\AppSrv01\bin\stopServer.bat mem01 -conntype RMI -port 9813 -trace

mem02 BOOTSTRAP_ADDRESS 9814
%WAS_PROFILE%\AppSrv01\bin\stopServer.bat mem02 -conntype RMI -port 9814 -trace

2、nodeagent
NodeAgent的BOOTSTRAP_ADDRESS端口默认是2809
%WAS_PROFILE%\AppSrv01\bin\stopNode.bat -conntype RMI -port 2809 -trace

3、dmgr
Dmgr的BOOTSTRAP_ADDRESS端口默认是9809
%WAS_PROFILE%\Dmgr01\bin\stopServer.bat dmgr -conntype RMI -port 9809 -trace
ADMU0128I: 正在启动具有 Dmgr01 概要文件的工具
ADMU3101I: 对于服务器:dmgr 使用了显式的主机和端口 localhost:9809
ADMU3201I: 发出了服务器停止请求。等待停止状态。
ADMU4000I: 服务器 dmgr 停止已完成。
测试通过


注意也是采用stopServer脚本,并不是直接采用stopManager脚本
如果直接采用,则
%WAS_PROFILE%\Dmgr01\bin\stopManager.bat -conntype RMI -port 9809 -trace
ADMU0128I: 正在启动具有 Dmgr01 概要文件的工具
ADMU3101I: 对于服务器:dmgr 使用了显式的主机和端口 localhost:9809
ADMU0509I: 无法访问 server“dmgr”。它似乎已停止。

测试失败XXX



最后需要注意 : 有VPN连接时的网络配置问题
简单就是美!
我的Java:http://www.Java2Class.net

TOP