summaryrefslogtreecommitdiffstats
path: root/ipsilon/install
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2014-03-20 17:54:35 -0400
committerSimo Sorce <simo@redhat.com>2014-03-21 17:07:40 -0400
commit8fe18393e0a3ff27e999a069207d48f782cca9f8 (patch)
tree3d963c8f05c3cc01b65ec8006d9b9d2867f591d3 /ipsilon/install
parent4de51f1b6f61f7dd5aae02da844f39822c2d9031 (diff)
downloadipsilon-8fe18393e0a3ff27e999a069207d48f782cca9f8.tar.gz
ipsilon-8fe18393e0a3ff27e999a069207d48f782cca9f8.tar.xz
ipsilon-8fe18393e0a3ff27e999a069207d48f782cca9f8.zip
Add a default admin user at install time
Signed-off-by: Simo Sorce <simo@redhat.com>
Diffstat (limited to 'ipsilon/install')
-rwxr-xr-xipsilon/install/server.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/ipsilon/install/server.py b/ipsilon/install/server.py
index 4c0aef7..4ae0c8f 100755
--- a/ipsilon/install/server.py
+++ b/ipsilon/install/server.py
@@ -19,6 +19,7 @@
from ipsilon.login.common import LoginMgrsInstall
from ipsilon.providers.common import ProvidersInstall
+from ipsilon.util.data import Store
import argparse
import cherrypy
import logging
@@ -98,6 +99,13 @@ def install(plugins, args):
if os.path.exists(admin_db):
shutil.move(admin_db, '%s.backup.%s' % (admin_db, now))
+ # Rebuild user db
+ users_db = cherrypy.config['user.prefs.db']
+ if os.path.exists(users_db):
+ shutil.move(users_db, '%s.backup.%s' % (users_db, now))
+ db = Store()
+ db.save_user_preferences(args['admin_user'], {'is_admin': 1})
+
logger.info('Configuring login managers')
for plugin_name in args['lm_order']:
plugin = plugins['Login Managers'][plugin_name]
@@ -132,6 +140,8 @@ def parse_args(plugins):
help="Machine's fully qualified host name")
parser.add_argument('--system-user', default='ipsilon',
help="User account used to run the server")
+ parser.add_argument('--admin-user', default='admin',
+ help="User account that is assigned admin privileges")
parser.add_argument('--ipa', choices=['yes', 'no'], default='yes',
help='Detect and use an IPA server for authentication')
parser.add_argument('--uninstall', action='store_true',