git-svn-id: http://svn.calculate.ru/calculate2/calculate-server/trunk@114 c91db197-33c1-4113-bf15-f8a5c547ca64
parent
f70acbc545
commit
18527ededa
@ -1,14 +1,15 @@
|
||||
# Add posix Account
|
||||
dn: uid=#-soft_ldap_user_login-#,ou=Users,#-soft_ldap_base-#
|
||||
objectClass: top
|
||||
objectclass: person
|
||||
objectClass: person
|
||||
objectClass: posixAccount
|
||||
objectClass: shadowAccount
|
||||
cn: #-soft_ldap_user_full_name-#
|
||||
gecos: #-soft_ldap_user_full_name-#
|
||||
sn: #-soft_ldap_user_login-#
|
||||
uid: #-soft_ldap_user_login-#
|
||||
uidNumber: #-soft_ldap_user_id-#
|
||||
gidNumber: #-soft_ldap_user_gid-#
|
||||
homeDirectory: #-soft_ldap_user_home-#
|
||||
loginShell: #-soft_ldap_user_shell-#
|
||||
userPassword: #-soft_ldap_user_pw_hash-#
|
||||
userPassword: #-soft_ldap_user_pw_hash-#
|
@ -0,0 +1,83 @@
|
||||
#!/usr/bin/python
|
||||
#-*- coding: utf-8 -*-
|
||||
|
||||
#Copyright 2008 Calculate Pack, http://www.calculate-linux.ru
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import sys
|
||||
import os
|
||||
sys.path.insert(0,os.path.abspath('/usr/lib/calculate/calculate-lib/pym'))
|
||||
sys.path.insert(0,os.path.abspath('/usr/lib/calculate/calculate-server/pym'))
|
||||
import cl_base
|
||||
tr = cl_base.lang()
|
||||
tr.setGlobalDomain('cl_server')
|
||||
tr.setLanguage(sys.modules[__name__])
|
||||
import cl_ldap
|
||||
|
||||
class tsOpt(cl_base.opt):
|
||||
def __init__(self, obj):
|
||||
self.obj =obj
|
||||
self.shortOpt = self.obj.getAllOpt('short')
|
||||
self.longOpt = self.obj.getAllOpt('long')
|
||||
self.opt = {}
|
||||
self.sysArgv = sys.argv[1:]
|
||||
self.__iter = 0
|
||||
self.params = {}
|
||||
cl_base.opt.__init__(self, self.shortOpt, self.longOpt)
|
||||
if "h" in self.opt or (not (self.params.has_key('group') and\
|
||||
self.params.has_key('service')) and\
|
||||
not self.opt):
|
||||
print self.obj.getHelp()
|
||||
else:
|
||||
if self.params.has_key('service'):
|
||||
if not (self.params['service'] in self.obj.allServ):
|
||||
self.handlerErrOpt()
|
||||
else:
|
||||
self.handlerErrOpt()
|
||||
|
||||
def handlerOpt(self,option,value):
|
||||
# Обработчик (опция значение)
|
||||
#print option, value
|
||||
shortOpt = self.obj.getShortOpt(option)
|
||||
if not self.opt.has_key(shortOpt):
|
||||
self.opt[shortOpt] = value
|
||||
|
||||
|
||||
def handlerErrOpt(self):
|
||||
# Обработчик ошибок
|
||||
argv = " ".join(sys.argv[1:])
|
||||
print _("Unrecognized option") + ' "' + argv + '"\n' + \
|
||||
_("Try") + ' "' + sys.argv[0].split("/")[-1] + ' --help" ' +\
|
||||
_("for more information.")
|
||||
|
||||
|
||||
def handlerParam(self,param):
|
||||
# Обработчик хвостов (значение)
|
||||
self.__iter += 1
|
||||
# Достаем название пользователя
|
||||
if self.__iter == 1:
|
||||
self.params['group'] = param
|
||||
# Достаем название сервиса
|
||||
if self.__iter == 2:
|
||||
self.params['service'] = param
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
ldapObj = cl_ldap.cl_ldap("cl-groupadd")
|
||||
optObj = tsOpt(ldapObj)
|
||||
if optObj.params.has_key('service') and\
|
||||
optObj.params.has_key('group'):
|
||||
if optObj.params['service'] == "ldap":
|
||||
# Добавляем пользователя LDAP
|
||||
ldapObj.addGroupLdapServer(optObj.params['group'], optObj.opt)
|
Loading…
Reference in new issue