diff options
author | Simo Sorce <simo@redhat.com> | 2014-03-20 16:46:18 -0400 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2014-03-20 17:28:30 -0400 |
commit | 411a829b99d81939a6f194abe940eb0f3f88673e (patch) | |
tree | ebc1856933706d78e5cf8ce0e7a9f2543b089549 /ipsilon/login/authpam.py | |
parent | 9d9679160296b2fe3103af20114484ee37dfdf44 (diff) | |
download | ipsilon-411a829b99d81939a6f194abe940eb0f3f88673e.tar.gz ipsilon-411a829b99d81939a6f194abe940eb0f3f88673e.tar.xz ipsilon-411a829b99d81939a6f194abe940eb0f3f88673e.zip |
Add PAM configuration code
Signed-off-by: Simo Sorce <simo@redhat.com>
Diffstat (limited to 'ipsilon/login/authpam.py')
-rwxr-xr-x | ipsilon/login/authpam.py | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/ipsilon/login/authpam.py b/ipsilon/login/authpam.py index 1eb697b..db409f7 100755 --- a/ipsilon/login/authpam.py +++ b/ipsilon/login/authpam.py @@ -18,6 +18,8 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. from ipsilon.login.common import LoginPageBase, LoginManagerBase +from ipsilon.login.common import FACILITY +from ipsilon.util.plugin import PluginObject import cherrypy import pam @@ -161,6 +163,25 @@ class Installer(object): if opts['pam'] != 'yes': return - if opts['pam_service'] != 'remote': - #TODO: add service_name in the database - return + # Add configuration data to database + po = PluginObject() + po.name = 'pam' + po.wipe_data() + + po.wipe_config_values(FACILITY) + config = {'service name': opts['pam_service']} + po.set_config(config) + po.save_plugin_config(FACILITY) + + # Update global config to add login plugin + po = PluginObject() + po.name = 'global' + globalconf = po.get_plugin_config(FACILITY) + if 'order' in globalconf: + order = globalconf['order'].split(',') + else: + order = [] + order.append('pam') + globalconf['order'] = ','.join(order) + po.set_config(globalconf) + po.save_plugin_config(FACILITY) |