Fixed error about ignoring of "-D user" option

This commit is contained in:
2012-12-11 15:12:17 +01:00
parent fe36431f4e
commit 208d6add00
+15 -6
View File
@@ -236,7 +236,7 @@ config = read_cfg(cfgfile)
user_dn = config['default_user_dn']
if options.user_dn:
config['user_dn'] = options.user_dn
user_dn = options.user_dn
if options.group_ou:
config['group_ou'] = options.group_ou
if options.user_ou:
@@ -262,8 +262,9 @@ if (mode == 'add' or mode == 'del') and len(usernames) == 0:
sys.stderr.write("Error: Not enough arguments\n")
sys.exit(1)
# this we should actually do with systemuser2dn
if ',' not in user_dn:
user_dn = 'CN=' + user_dn + ',' + user_ou
user_dn = 'CN=' + user_dn + ',' + config['user_ou']
if flag_needprivileges and user_dn == config['default_user_dn']:
try:
@@ -272,10 +273,18 @@ if flag_needprivileges and user_dn == config['default_user_dn']:
config['default_user_pw'],
user_ou = config['user_ou'],
logger = mylogger)
user_dn = l_unpriv.systemuser2dn(os.getlogin())
if user_dn == '':
sys.stderr.write('Error: Need priviledged user and cannot map your system user "%s" to LDAP DN for binding (you may want to use explicit -D user_dn option?)' % os.getlogin() )
sys.exit(1)
try:
user_dn = l_unpriv.systemuser2dn(os.getlogin())
except LdapUserDirError, err:
if str(err) == 'No such user':
sys.stderr.write('''
Error: Need priviledged user and cannot map your system user "%s"
to LDAP DN for binding (you may want to use the explicit -D user_dn option)
''' % os.getlogin() )
sys.exit(1)
else:
sys.stderr.write('Uncaught Error: %s' % str(err))
except ldap.LDAPError, e:
sys.stderr.write('LDAP error: %s\n' % str(e))
sys.exit(1)