This project is a simple implementation to change a users password on the CiscoACS server, it is built using python2 and will give you a neat and simple web form for your users to change their passwords.
I’ve only tested this with ACS 5.6 and python 2.7 but it may work with other version of the ACS and python2.
Valid SSL on your ACS and certificate chain on the server running this script
You must also enable the UCP service:
acs config-web-interface ucp enable
Or you can use this guide: EnablingUCP
Clone this repository and install dependencies:
git clone [email protected]:nertwork/change-acs-password.git
cd change-password
pip install -r requirements.txt
Configuration is read from the file settings.ini.
You may change location of the settings file using the environment variable CONF_FILE
.
There are multiple ways how to run it:
Simply execute the acs-cp.py
:
python acs-cp.py
Then you can access the app on http://localhost:8080. The port and host may be changed in settings.ini.
If you have many micro-apps like this, or you just want to have a simpler NGINX configuration you would want to use uWSGI and nginx. It’s not so well known, but uWSGI allows to “mount” multiple application in a single uWSGI process and with a single socket.
[uwsgi]
process = 4
plugins = python
wsgi-file = /usr/share/nginx/www/change-acs-password/acs-cp.py
uid = www-data
gid = www-data
server {
listen 443 ssl;
server_name example.org;
ssl_certificate /etc/ssl/nginx/nginx.crt;
ssl_certificate_key /etc/ssl/nginx/nginx.key;
# uWSGI scripts
location / {
uwsgi_pass unix:/run/uwsgi/app/acs-cp/socket;
include uwsgi_params;
}
}
A special thanks to this project on LDAP password changes for the inspiration jirutka/change-password!
-
Fork it.
-
Create your feature branch (
git checkout -b my-new-feature
). -
Commit your changes (
git commit -am 'Add some feature'
). -
Push to the branch (
git push origin my-new-feature
). -
Create a new Pull Request.
This project is licensed under MIT License. For the full text of the license, see the LICENSE file.