Cisco Secure Access Control System (ACS) 5.2 and User Change Password (UCP)
As the ACS evolved, one of the less known features of ACS has also evolved at a significant level: User Change Password (UCP). If you had Cisco Secure Access Control Server version 4.x, 3.x or earlier; and you only required a local ACS database for user account management, then you are familiar it. This is a service which lets users change their account password through a GUI based interactive interface (for both ACS 4.x and ACS 5.x) or CLI of their operating systems (only for ACS 5.x). 由于ACS的演变,一个少为人知的ACS功能也发生了显著变化:用户更改密码(UCP)。如果你有思科安全访问控制服务器版本4.x,3.x或更早;,你只需要本地用户帐户管理的ACS数据库,那么你熟悉它。这是一种服务,允许用户改变他们的帐户密码,通过一个基于GUI的交互式界面(ACS4.x和5.x的ACS的)或他们的操作系统的CLI(只为ACS5.x的)。
The User Change Password (UCP) service allows users defined in the ACS internal database to first authenticate themselves, and then change their own password. This service can be utilized to aid the IT staff by lowering the requests for password change. A permanent link or tool can be provided to users to facilitate their own password change. 用户更改密码(UCP)服务允许用户在ACS内部数据库中定义的,首先验证自己,然后改变自己的密码。可以利用这项服务,以帮助IT人员降低密码更改请求。永久链接或工具可以提供给用户,以方便自己的密码更改。
The UCP service available in ACS 5.x can be used to create custom web-based applications and that can be deployed in an enterprise’s internal/external web portals to facilitate user password change as self-help. UCP服务在ACS5.x有效,可用于创建自定义的基于Web的应用可以部署在企业的内部/外部的门户网站,以方便用户密码更改。
In this article I will cover UCP under two main sections. 在这篇文章中,我将介绍两个主要部分
UCP through HTTP(S). 用HTTP(S) UCP
UCP through Command Line. 用命令行UCP
UCP through HTTP(S)
To enable password change through GUI for ACS local database users, broadly we need to follow these steps:
Enable UCP ACS web interface on ACS.
Configure web server to cater UCP GUI interface.
We will use the following, in addition to ACS:
Ubuntu 10.04.1 LTS
Apache Tomcat 6.0.24 (To server JSP pages)
Let us begin with configuring UCP through HTTP(S):
1. Get the required files to deploy on web server from ACS. Navigate to System Administration > Downloads > User Change Password > UCP web application example, as shown in figure 1.
Figure 1
ACS will ask you to save ‘UCP.war’ file. Save it.
2. Install and start the tomcat service.
安装和启动Tomcat服务。
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk/
sudo aptitude install tomcat6 tomcat6-admin tomcat6-common
sudo /etc/init.d/tomcat6 start
or
sudo service tomcat6 start
NOTE
First ensure what Java you are using on your server and specify JAVA_HOME accordingly.
首先,确保您在您的服务器上使用什么样的Java和相应指定的JAVA_HOME。
3. Place the extracted files from ‘UCP.war’ from step 1 under /var/lib/tomcat6/webapps/ROOT:
在目录/var/lib/tomcat6/webapps/ROOT下放置从UCP.war中提取文件
$ ls /var/lib/tomcat6/webapps/ROOT/
cisco_logo.JPG[U1] index.jsp[U2] META-INF[U3] WEB-INF[U4]
$
4. Enable UCP ACS web interface on ACS: 在ACS里启用UCP ACS 网页接口
acs52/admin# show acs-config-web-interface
migration interface is enabled
ucp interface is disabled
view interface is enabled
acs52/admin#
acs52/admin# acs config-web-interface ucp enable
acs52/admin# show acs-config-web-interface
migration interface is enabled
ucp interface is enabled
view interface is enabled
acs52/admin#
5. Check the UCP GUI page to ensure that password change is working using HTTP.
检查UCP 图形界面窗口,确保口令修改是使用HTTP
Access the tomcat server using any browser, at http://:8080.
使用浏览器在以下地址:http://:8080,访问雄猫服务器
You should see output as shown in figure 2.
你应该会看到如下图2所示的输出
Figure 2
Now, ensure that password change is works. Use any local account on ACS local database and try to change its password using the UCP GUI interface as shown in figure 3 and figure 4.
现在,确认密码修改是工作的。使用任何ACS本地数据上的帐户来试着使用UCP GUI界面接口修改。如图3、4所示。
Figure 3
上图中:
ACS IP address/host : 192.168.1.99[U5]
User Name: weishizhao001[U6]
Password:******[U7]
New Password:******[U8]
Confirm Password:******[U9]
Figure 4
点击OK退出。
If you try to use a wrong password, you will page as shown in figure 5.
若你试着使用一个错误的密码,你看见如图5所示的图。
Figure 5
NOTE
The communication between tomcat server and the ACS server is always secure using SSL. If someone is eavesdropping between ACS and the Tomcat server, they won’t be able to interpret the actual communication.
Tomcat服务器和ACS服务器之间的通讯始终是安全使用SSL。如果有人窃听ACS和Tomcat服务器之间,他们将无法解释的实际通信。
Although communication between Tomcat server and ACS server is secure, unless we change communication between end clients accessing UCP web page secure, an eavesdropper can still see the old and new password using simple network tools.
虽然Tomcat服务器和ACS服务器之间的通信是安全的,除非我们改变访问UCP的网站页面安全的最终用户之间的沟通,窃听者仍然可以看到旧的和新的密码,使用简单的网络工具。
There are different ways to implement SSL between clients and Tomcat server. We will use JSSE implementation provided as part of the Java runtime.
有不同的方法来实现用户和Tomcat服务器之间的SSL。我们将使用JSSE实现Java运行时的一部分提供。
For more information on how to enable SSL on Tomcat 6, please refer to following link: 如何在Tomcat6中启用SSL的详细信息,请参阅以下链接:
http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html
6. Enable SSL on UCP GUI.
在UCP GUI中启用SSL
Create a certificate key store by executing following command: H通过执行以下命令创建一个证书密钥库:
/usr/lib/jvm/java-1.6.0-openjdk/bin/keytool -genkey -alias tomcat -keyalg RSA
Where /usr/lib/jvm/java-1.6.0-openjdk is my JAVA_HOME (refer to step 2). / usr/lib/jvm/java-1.6.0-openjdk是我的JAVA_HOME(参见步骤2)。
The keystore location would be under your home directory; for example, for user ‘pbanga’ it would be /home/prem/.keystore. 密钥库的位置应在你的home目录下,例如,用户pbanga“这将是/ home / PREM/.keystore。
Create a backup of default server.xml file: 创建一个默认的server.xml文件的备份:
~$sudo cp /var/lib/tomcat6/conf/server.xml /var/lib/tomcat6/conf/server.xml.orig
Locate the following code in server.xml file and uncomment it. 在server.xml文件中找到下面的代码,并取消注释。
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
Now add the keystore that we created above as现在添加的keystore
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="/home/pbanga/.keystore" />
Restart the Tomcat 6 service: 重新启动Tomcat6服务:
~$sudo service tomcat6 restart
* Stopping Tomcat servlet engine tomcat6 [ OK ]
* Starting Tomcat servlet engine tomcat6 [ OK ]
At this stage, if you launch a web browser at https://:8443, you should be able to establish a secure connection as shown in figure 6. 在这个阶段,如果你打开一个浏览器https://:8443,你应该能够建立一个安全连接,如图6所示。
Figure 6
It would also be good to add automatic re-direction, to ensure that if anyone tries to use HTTP it gets re-directed to HTTPS connection automatically. 这也将是很好地添加自动重定向,以确保如果有人试图使用HTTP,它得到自动重定向到HTTPS连接。
To enable automatic re-direction we need to make a change in file要启用自动重定向,我们需要改变如下文件:/var/lib/tomcat6/conf/web.xml
Put the below code under and right above .将代码放在底下上面
Protected Context
/*
CONFIDENTIAL
Now restart Tomcat 6 service.现在重启Tomcat 6服务
~$ sudo service tomcat6 restart
* Stopping Tomcat servlet engine tomcat6 [ OK ]
* Starting Tomcat servlet engine tomcat6 [ OK ]
~$
2. UCP through Command Line | Next Section
UCP through Command Line通过命令行修改用户密码
In this section we will see how to make use of the default script provided with ACS to enable users to change their password on ACS local database. 在本节中,我们将看到如何使用ACS提代的默认的脚本使用户能够在ACS ACS的本地数据库改变他们的密码。
Let us begin with installing and configuring components that will enable UCP. 让我们开始安装和配置的组件允许UCP。
1. Get the required files from ACS. Navigate to获取所需的文件从ACS。导航到System Administration > Downloads > User Change Password > Python Script for Using the User Change Password Web Service (along with installation instructions), as shown in figure 7.
Figure 7
ACS will prompt you to save a file ‘pythonUCP.zip’. Save it. ACS会提示您保存文件'pythonUCP.zip“。将它保存。
2. Next we need to install Python 2.4.
For Windows we can get a windows installer for Python 2.4 from对于Windows,我们可以得到Python 2.4中的Windows Installer
http://www.python.org/download/releases/2.4.4/.
For Linux, we can get the source and compile from above link. 对于Linux,我们可以得到源代码,并编译上面的链接。
I already had Python 2.6.5 installed on my Ubuntu box. To make script work we need 2.4.x, so I installed it as我已经在我的Ubuntu中安装的Python2.6.5。为了使脚本工作,我们需要2.4.x,所以我安装了它
~$ wget http://mirror.aarnet.edu.au/pub/ubuntu/archive/pool/main/p/python2.4/
python2.4-minimal_2.4.6-1ubuntu3.2.9.10.1_i386.deb -O python2.4-minimal.deb
~$ wget http://mirror.aarnet.edu.au/pub/ubuntu/archive/pool/main/p/python2.4/
python2.4_2.4.6-1ubuntu3.2.9.10.1_i386.deb -O python2.4.deb
~$ wget http://mirror.aarnet.edu.au/pub/ubuntu/archive/pool/main/p/python2.4/
python2.4-dev_2.4.6-1ubuntu3.2.9.10.1_i386.deb -O python2.4-dev.deb
~$ sudo dpkg -i python2.4-minimal.deb python2.4.deb python2.4-dev.deb
3. Extract the contents of pythonUCP.zip. 提取的内容pythonUCP.zip。
Extract files using any unzipping utility. 使用任何解压缩实用程序文件解压缩。
On Windows:
Figure 8
On Ubuntu: 在乌班图上
~$ unzip pythonUCP.zip
: pythonUCP.zip
creating: Linux/
extracting: Linux/fpconst-0.7.2.tar.gz
inflating: Linux/PyXML-0.8.4-9.i386.rpm
inflating: Linux/SOAPpy-0.11.6.tar.gz
creating: Windows/
inflating: Windows/fpconst.zip
inflating: Windows/PyXML-0.8.4.win32-py2.4.exe
inflating: Windows/SOAPpy-0.11.6.zip
inflating: readme.txt
inflating: ucp.py
~$
~$ cd Linux/
~$ ls
fpconst-0.7.2.tar.gz PyXML-0.8.4-9.i386.rpm SOAPpy-0.11.6.tar.gz
4. Install PyXML.
On Windows, simply execute the ‘PyXML-0.8.4.win32-py2.4.exe’ file.
On Ubuntu:
~$ cd Linux/
~/Linux$ ls
fpconst-0.7.2 fpconst-0.7.2.tar.gz PyXML-0.8.4-9.i386.rpm SOAPpy-0.11.6 SOAPpy-0.11.6.tar.gz
~/Linux$ sudo alien -k PyXML-0.8.4-9.i386.rpm
warning: PyXML-0.8.4-9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
warning: PyXML-0.8.4-9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
warning: PyXML-0.8.4-9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
warning: PyXML-0.8.4-9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
warning: PyXML-0.8.4-9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
warning: PyXML-0.8.4-9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
warning: PyXML-0.8.4-9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
warning: PyXML-0.8.4-9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
error: incorrect format: unknown tag
warning: PyXML-0.8.4-9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
warning: PyXML-0.8.4-9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
warning: PyXML-0.8.4-9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
warning: PyXML-0.8.4-9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
warning: PyXML-0.8.4-9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
warning: PyXML-0.8.4-9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
warning: PyXML-0.8.4-9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
warning: PyXML-0.8.4-9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
warning: PyXML-0.8.4-9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
pyxml_0.8.4-9_i386.deb generated
~/Linux$
~/Linux$ sudo dpkg -i pyxml_0.8.4-9_i386.deb
Selecting previously deselected package pyxml.
(Reading database ... 251982 files and directories currently installed.)
Unpacking pyxml (from pyxml_0.8.4-9_i386.deb) ...
Setting up pyxml (0.8.4-9) ...
~/Linux$
Ensure PyXML was installed successfully,确认PyXML安装成功
On Windows run Python command line or GUI and confirm this as shown in figure 9. 在Windows上运行Python的命令行或GUI,并确认,如图9所示。
Figure 9
On Ubuntu: 在乌班图上
~$ python2.4
Python 2.4.6 (#2, Jan 21 2010, 23:27:36)
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import xml
>>> xml.__version__
'37894'
>>>
5. Install fpconst.
On Windows, unzip ‘fpconst.zip’ & execute as shown in figure 10. 在Windows上,解压缩“fpconst.zip'执行,如图10所示。
Figure 10
On Ubuntu: 在乌班图上
~/Linux$ tar -xvf fpconst-0.7.2.tar.gz
fpconst-0.7.2/
fpconst-0.7.2/README
fpconst-0.7.2/fpconst.py
fpconst-0.7.2/setup.py
fpconst-0.7.2/PKG-INFO
~/Linux$
~/Linux$ cd fpconst-0.7.2/
~/Linux/fpconst-0.7.2$ ls
fpconst.py PKG-INFO README setup.py
~/Linux/fpconst-0.7.2$
~/Linux/fpconst-0.7.2$ sudo python2.4 setup.py install
running install
running build
running build_py
running install_lib
copying build/lib/fpconst.py -> /usr/lib/python2.4/site-packages
byte-compiling /usr/lib/python2.4/site-packages/fpconst.py to fpconst.pyc
running install_egg_info
Writing /usr/lib/python2.4/site-packages/fpconst-0.7.2.egg-info
~/Linux/fpconst-0.7.2$
Ensure fpconst was installed successfully from Python command line as shown in figure 11: 确保fpconst从Python命令行安装成功,如图11所示:
Figure 11
6. Install SOAPPy.
On Windows extract ‘SOAPpy-0.11.6.zip’ & execute as shown in figure 12.
Figure 12
On Ubuntu:
~/Linux$ tar -xvf SOAPpy-0.11.6.tar.gz
SOAPpy-0.11.6/
SOAPpy-0.11.6/SOAPpy/
SOAPpy-0.11.6/SOAPpy/wstools/
SOAPpy-0.11.6/SOAPpy/wstools/test/
SOAPpy-0.11.6/SOAPpy/wstools/test/__init__.py
SOAPpy-0.11.6/SOAPpy/wstools/test/test_t1.py
SOAPpy-0.11.6/SOAPpy/wstools/test/test_wsdl.py
SOAPpy-0.11.6/SOAPpy/wstools/test/test_wstools.py
SOAPpy-0.11.6/SOAPpy/wstools/test/test_wstools_net.py
SOAPpy-0.11.6/SOAPpy/wstools/Namespaces.py
SOAPpy-0.11.6/SOAPpy/wstools/TimeoutSocket.py
SOAPpy-0.11.6/SOAPpy/wstools/UserTuple.py
SOAPpy-0.11.6/SOAPpy/wstools/Utility.py
SOAPpy-0.11.6/SOAPpy/wstools/WSDLTools.py
SOAPpy-0.11.6/SOAPpy/wstools/XMLSchema.py
SOAPpy-0.11.6/SOAPpy/wstools/XMLname.py
SOAPpy-0.11.6/SOAPpy/wstools/__init__.py
SOAPpy-0.11.6/SOAPpy/Client.py
SOAPpy-0.11.6/SOAPpy/Config.py
SOAPpy-0.11.6/SOAPpy/Errors.py
SOAPpy-0.11.6/SOAPpy/GSIServer.py
SOAPpy-0.11.6/SOAPpy/NS.py
SOAPpy-0.11.6/SOAPpy/Parser.py
SOAPpy-0.11.6/SOAPpy/SOAP.py
SOAPpy-0.11.6/SOAPpy/SOAPBuilder.py
SOAPpy-0.11.6/SOAPpy/Server.py
SOAPpy-0.11.6/SOAPpy/Types.py
SOAPpy-0.11.6/SOAPpy/URLopener.py
SOAPpy-0.11.6/SOAPpy/Utilities.py
SOAPpy-0.11.6/SOAPpy/WSDL.py
SOAPpy-0.11.6/SOAPpy/__init__.py
SOAPpy-0.11.6/SOAPpy/version.py
SOAPpy-0.11.6/bid/
SOAPpy-0.11.6/bid/inventoryClient.py
SOAPpy-0.11.6/bid/inventoryServer.py
SOAPpy-0.11.6/bid/monitorClient.py
SOAPpy-0.11.6/contrib/
SOAPpy-0.11.6/contrib/soap_cli.py
SOAPpy-0.11.6/contrib/soap_handler.py
SOAPpy-0.11.6/docs/
SOAPpy-0.11.6/docs/GettingStarted.txt
SOAPpy-0.11.6/docs/GlobusSupport.txt
SOAPpy-0.11.6/docs/MethodParameterNaming.txt
SOAPpy-0.11.6/docs/WSDL.txt
SOAPpy-0.11.6/docs/attrs.txt
SOAPpy-0.11.6/docs/complexTypes.txt
SOAPpy-0.11.6/docs/simpleTypes.txt
SOAPpy-0.11.6/tests/
SOAPpy-0.11.6/tests/BabelfishWSDLTest.py
SOAPpy-0.11.6/tests/SOAPtest.py
SOAPpy-0.11.6/tests/TCtest.py
SOAPpy-0.11.6/tests/TemperatureService.wsdl
SOAPpy-0.11.6/tests/alanbushTest.py
SOAPpy-0.11.6/tests/cardClient.py
SOAPpy-0.11.6/tests/cardServer.py
SOAPpy-0.11.6/tests/echoClient.py
SOAPpy-0.11.6/tests/echoHeader.py
SOAPpy-0.11.6/tests/echoServer.py
SOAPpy-0.11.6/tests/esj_test_client.py
SOAPpy-0.11.6/tests/esj_test_server.py
SOAPpy-0.11.6/tests/excelTest.py
SOAPpy-0.11.6/tests/largeDataTest.py
SOAPpy-0.11.6/tests/newsTest.py
SOAPpy-0.11.6/tests/quoteTest.py
SOAPpy-0.11.6/tests/simpleWSDL.py
SOAPpy-0.11.6/tests/speedTest.py
SOAPpy-0.11.6/tests/storageTest.py
SOAPpy-0.11.6/tests/testClient1.py
SOAPpy-0.11.6/tests/testWSDL.py
SOAPpy-0.11.6/tests/testleak.py
SOAPpy-0.11.6/tests/translateTest.py
SOAPpy-0.11.6/tests/weatherTest.py
SOAPpy-0.11.6/tests/whoisTest.py
SOAPpy-0.11.6/tests/xmethods.py
SOAPpy-0.11.6/tools/
SOAPpy-0.11.6/tools/interop2html.py
SOAPpy-0.11.6/validate/
SOAPpy-0.11.6/validate/server.pem
SOAPpy-0.11.6/validate/silab.servers
SOAPpy-0.11.6/validate/silabclient.py
SOAPpy-0.11.6/validate/silabserver.py
SOAPpy-0.11.6/validate/soapware.py
SOAPpy-0.11.6/ChangeLog
SOAPpy-0.11.6/LICENSE
SOAPpy-0.11.6/README
SOAPpy-0.11.6/RELEASE_INFO
SOAPpy-0.11.6/TODO
SOAPpy-0.11.6/setup.py
SOAPpy-0.11.6/PKG-INFO
~/Linux$
~/Linux$ cd SOAPpy-0.11.6
~/Linux/SOAPpy-0.11.6$ sudo python2.4 setup.py install
running install
running build
running build_py
creating build
creating build/lib
creating build/lib/SOAPpy
copying SOAPpy/__init__.py -> build/lib/SOAPpy
copying SOAPpy/GSIServer.py -> build/lib/SOAPpy
copying SOAPpy/SOAP.py -> build/lib/SOAPpy
copying SOAPpy/SOAPBuilder.py -> build/lib/SOAPpy
copying SOAPpy/URLopener.py -> build/lib/SOAPpy
copying SOAPpy/version.py -> build/lib/SOAPpy
copying SOAPpy/Client.py -> build/lib/SOAPpy
copying SOAPpy/Utilities.py -> build/lib/SOAPpy
copying SOAPpy/NS.py -> build/lib/SOAPpy
copying SOAPpy/Config.py -> build/lib/SOAPpy
copying SOAPpy/Parser.py -> build/lib/SOAPpy
copying SOAPpy/Errors.py -> build/lib/SOAPpy
copying SOAPpy/Types.py -> build/lib/SOAPpy
copying SOAPpy/Server.py -> build/lib/SOAPpy
copying SOAPpy/WSDL.py -> build/lib/SOAPpy
creating build/lib/SOAPpy/wstools
copying SOAPpy/wstools/Namespaces.py -> build/lib/SOAPpy/wstools
copying SOAPpy/wstools/__init__.py -> build/lib/SOAPpy/wstools
copying SOAPpy/wstools/UserTuple.py -> build/lib/SOAPpy/wstools
copying SOAPpy/wstools/XMLname.py -> build/lib/SOAPpy/wstools
copying SOAPpy/wstools/XMLSchema.py -> build/lib/SOAPpy/wstools
copying SOAPpy/wstools/WSDLTools.py -> build/lib/SOAPpy/wstools
copying SOAPpy/wstools/Utility.py -> build/lib/SOAPpy/wstools
copying SOAPpy/wstools/TimeoutSocket.py -> build/lib/SOAPpy/wstools
running install_lib
creating /usr/lib/python2.4/site-packages/SOAPpy
copying build/lib/SOAPpy/__init__.py -> /usr/lib/python2.4/site-packages/SOAPpy
copying build/lib/SOAPpy/GSIServer.py -> /usr/lib/python2.4/site-packages/SOAPpy
copying build/lib/SOAPpy/SOAP.py -> /usr/lib/python2.4/site-packages/SOAPpy
copying build/lib/SOAPpy/SOAPBuilder.py -> /usr/lib/python2.4/site-packages/SOAPpy
copying build/lib/SOAPpy/URLopener.py -> /usr/lib/python2.4/site-packages/SOAPpy
copying build/lib/SOAPpy/version.py -> /usr/lib/python2.4/site-packages/SOAPpy
copying build/lib/SOAPpy/Client.py -> /usr/lib/python2.4/site-packages/SOAPpy
copying build/lib/SOAPpy/Utilities.py -> /usr/lib/python2.4/site-packages/SOAPpy
copying build/lib/SOAPpy/NS.py -> /usr/lib/python2.4/site-packages/SOAPpy
copying build/lib/SOAPpy/Config.py -> /usr/lib/python2.4/site-packages/SOAPpy
creating /usr/lib/python2.4/site-packages/SOAPpy/wstools
copying build/lib/SOAPpy/wstools/Namespaces.py -> /usr/lib/python2.4/site-packages/SOAPpy/wstools
copying build/lib/SOAPpy/wstools/__init__.py -> /usr/lib/python2.4/site-packages/SOAPpy/wstools
copying build/lib/SOAPpy/wstools/UserTuple.py -> /usr/lib/python2.4/site-packages/SOAPpy/wstools
copying build/lib/SOAPpy/wstools/XMLname.py -> /usr/lib/python2.4/site-packages/SOAPpy/wstools
copying build/lib/SOAPpy/wstools/XMLSchema.py -> /usr/lib/python2.4/site-packages/SOAPpy/wstools
copying build/lib/SOAPpy/wstools/WSDLTools.py -> /usr/lib/python2.4/site-packages/SOAPpy/wstools
copying build/lib/SOAPpy/wstools/Utility.py -> /usr/lib/python2.4/site-packages/SOAPpy/wstools
copying build/lib/SOAPpy/wstools/TimeoutSocket.py -> /usr/lib/python2.4/site-packages/SOAPpy/wstools
copying build/lib/SOAPpy/Parser.py -> /usr/lib/python2.4/site-packages/SOAPpy
copying build/lib/SOAPpy/Errors.py -> /usr/lib/python2.4/site-packages/SOAPpy
copying build/lib/SOAPpy/Types.py -> /usr/lib/python2.4/site-packages/SOAPpy
copying build/lib/SOAPpy/Server.py -> /usr/lib/python2.4/site-packages/SOAPpy
copying build/lib/SOAPpy/WSDL.py -> /usr/lib/python2.4/site-packages/SOAPpy
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/__init__.py to __init__.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/GSIServer.py to GSIServer.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/SOAP.py to SOAP.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/SOAPBuilder.py to SOAPBuilder.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/URLopener.py to URLopener.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/version.py to version.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/Client.py to Client.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/Utilities.py to Utilities.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/NS.py to NS.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/Config.py to Config.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/wstools/Namespaces.py to Namespaces.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/wstools/__init__.py to __init__.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/wstools/UserTuple.py to UserTuple.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/wstools/XMLname.py to XMLname.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/wstools/XMLSchema.py to XMLSchema.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/wstools/WSDLTools.py to WSDLTools.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/wstools/Utility.py to Utility.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/wstools/TimeoutSocket.py to TimeoutSocket.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/Parser.py to Parser.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/Errors.py to Errors.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/Types.py to Types.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/Server.py to Server.pyc
byte-compiling /usr/lib/python2.4/site-packages/SOAPpy/WSDL.py to WSDL.pyc
running install_egg_info
Writing /usr/lib/python2.4/site-packages/SOAPpy-0.11.6.egg-info
~/Linux/SOAPpy-0.11.6$
Ensure SOAPpy was installed successfully from Python command line as shown in figure 13:
Figure 13
At this stage we have all the required components to get ‘UCP.py’ to let user change their password. 在这个阶段,我们有所有必需的组件,以获得“UCP.py”让用户更改其密码。
7. Execute UCP.py 执行UCP.py
On Windows simply type ‘ucp.py’ and script will execute as shown in figure 14. The ‘ucp.py’ in this example is placed at C drive root location. 在Windows只需键入“ucp.py”和脚本将执行如图14所示。在这个例子中的“ucp.py”被放置在驱动器C的根位置。
Figure 14
On Ubuntu:
~$ python2.4 ucp.py
Please enter ACS host name or IP address:
192.168.26.51
Please enter user name:
prem
Please enter old password:
alpha123!
Please enter new password:
alpha1234!
Success
~$
Summary
In the examples shown in this article, we did no customization on our end and used everything as is. Beyond the scope of this article, we can also customize UCP, so that it can be integrated into corporate web portals. 在本文中的例子,我们也没有定制和使用一切。本文的范围之外,我们还可以定制UCP,这样,它可以集成到企业的门户网站。
In ACS we can use Web Services Description Language (WDSL) to integrate UCP. The WSDL is an XML format that describes network services as a collection of ports that operate on messages. WSDL is extensible to allow the description of endpoints and their messages regardless of the message formats or network protocols that you use. 在ACS中,我们可以使用Web服务描述语言(WDSL)的集UCP。 WSDL是一种XML格式,作为消息上运行的端口的集合的网络服务。 WSDL是扩展的,允许端点和他们的信息的描述,无论您使用的消息格式或网络协议。
Resources
For more information on WSDL please refer to World Wide Web Consortium website.
For complete information on UCP and WSDL please refer to ‘Software Developer's Guide for the Cisco Secure Access Control System’.
版权声明:本文为博主原创文章,未经博主允许不得转载。