This allow to specifify what system user should be used to configure
the ipsilon server to run as.
Signed-off-by: Simo Sorce <simo@redhat.com>
import cherrypy
import logging
import os
import cherrypy
import logging
import os
import shutil
import socket
import sys
import shutil
import socket
import sys
help='Comma separated list of login managers')
parser.add_argument('--hostname',
help="Machine's fully qualified host name")
help='Comma separated list of login managers')
parser.add_argument('--hostname',
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('--ipa', choices=['yes', 'no'], default='yes',
help='Detect and use an IPA server for authentication')
parser.add_argument('--uninstall', action='store_true',
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',
if len(args['hostname'].split('.')) < 2:
raise ConfigurationError('Hostname: %s is not a FQDN')
if len(args['hostname'].split('.')) < 2:
raise ConfigurationError('Hostname: %s is not a FQDN')
+ try:
+ pwd.getpwnam(args['system_user'])
+ except KeyError:
+ raise ConfigurationError('User: %s not found on the system')
+
if args['lm_order'] is None:
args['lm_order'] = []
for name in lms:
if args['lm_order'] is None:
args['lm_order'] = []
for name in lms: