fixed a number of encoding bugs

master
idziubenko 3 years ago
parent 52e217f20b
commit 021f621f35

@ -334,75 +334,82 @@ class shareLdap(imp_cl_err, imp_cl_xml, imp_cl_help, imp_cl_smcon, prnServ):
# Базовый DN LDAP сервера
self.baseDN = False
# Статические группы
self.staticGroups = {\
'client':self.addInfoGroup('client',
'900',
'Client group',
'2801',
'2'),
'Domain Admins':self.addInfoGroup('Domain Admins',
'512',
'Domain Administrators',
'512',
'2'),
'Domain Users':self.addInfoGroup('Domain Users',
'513',
'Domain Users',
'513',
'2'),
'Domain Guests':self.addInfoGroup('Domain Guests',
'514',
'Domain Guests Users',
'514',
'2'),
'Domain Computers':self.addInfoGroup('Domain Computers',
'515',
'Domain Computers accounts',
'515',
'2'),
'Administrators':self.addInfoGroup('Administrators',
'544',
'Domain Members can fully \
administer the computer/sambaDomainName',
'544',
'5',
"S-1-5-32-544"),
'Account Operators':self.addInfoGroup('Account Operators',
'548',
'Domain Users to manipulate \
users accounts',
'548',
'5',
"S-1-5-32-548"),
'System Operators':self.addInfoGroup('System Operators',
'549',
'Domain System Operators',
'549',
'5',
"S-1-5-32-549"),
'Print Operators':self.addInfoGroup('Print Operators',
'550',
'Domain Print Operators',
'550',
'5',
"S-1-5-32-550"),
'Backup Operators':self.addInfoGroup('Backup Operators',
'551',
'Domain Members can bypass \
file security to back up files',
'551',
'5',
"S-1-5-32-551"),
'Replicators':self.addInfoGroup('Replicators',
'552',
'Domain Supports file replication \
in a sambaDomainName',
'552',
'5',
"S-1-5-32-552"),
self.staticGroups = {
'client':self.addInfoGroup(
'client',
'900',
'Client group',
'2801',
'2'),
'Domain Admins':self.addInfoGroup(
'Domain Admins',
'512',
'Domain Administrators',
'512',
'2'),
'Domain Users':self.addInfoGroup(
'Domain Users',
'513',
'Domain Users',
'513',
'2'),
'Domain Guests':self.addInfoGroup(
'Domain Guests',
'514',
'Domain Guests Users',
'514',
'2'),
'Domain Computers':self.addInfoGroup(
'Domain Computers',
'515',
'Domain Computers accounts',
'515',
'2'),
'Administrators':self.addInfoGroup(
'Administrators',
'544',
'Domain Members can fully administer the computer/sambaDomainName',
'544',
'5',
"S-1-5-32-544"),
'Account Operators':self.addInfoGroup(
'Account Operators',
'548',
'Domain Users to manipulate users accounts',
'548',
'5',
"S-1-5-32-548"),
'System Operators':self.addInfoGroup(
'System Operators',
'549',
'Domain System Operators',
'549',
'5',
"S-1-5-32-549"),
'Print Operators':self.addInfoGroup(
'Print Operators',
'550',
'Domain Print Operators',
'550',
'5',
"S-1-5-32-550"),
'Backup Operators':self.addInfoGroup(
'Backup Operators',
'551',
'Domain Members can bypass file security to back up files',
'551',
'5',
"S-1-5-32-551"),
'Replicators':self.addInfoGroup(
'Replicators',
'552',
'Domain Supports file replication in a sambaDomainName',
'552',
'5',
"S-1-5-32-552"),
}
# Статические пользователи
self.staticUsers = {\
self.staticUsers = {
'client':self.addInfoUser('client',
'900',
'900',
@ -11392,7 +11399,7 @@ service")
{
'progAccess':(2,),
'helpChapter':_("Examples"),
'help':pcs( " cl-groupmod -a guest test unix", self.column_width,
'help':pcs( " cl-groupmod -a test guest unix", self.column_width,
"# " + _("add user test to group guest in Unix service"),
self.consolewidth-self.column_width )
},
@ -14959,8 +14966,8 @@ with another option."))
ldapValue = info[0][1][attr]
# Изменяем значения аттрибутов для вывода на печать
#modUserAttr already decodes
ldapValue[0] = self.modUserAttr(attr, ldapValue[0],
service)
ldapValue = [self.modUserAttr(attr, x, service) for x
in ldapValue]
flagFirst = False
for value in ldapValue:
if not flagFirst:
@ -15030,7 +15037,7 @@ with another option."))
memberUid = searchRes[0][0][1]['memberUid']
groupId = searchRes[0][0][1]['gidNumber'][0].decode("UTF-8")
primaryUids = self.getUnixUidPrimGroup(groupId)
memberUid = [x for x in primaryUids] + [x.encode("UTF-8") for x in memberUid]
memberUid = [x for x in primaryUids] + [x.decode("UTF-8") for x in memberUid]
uniqueUid = []
# Удаляем одинаковые элементы
for uid in memberUid:
@ -15043,7 +15050,7 @@ with another option."))
attr = retrAttrs[i]
attrName = attributes[i]
if attr in info[0][1]:
ldapValue = info[0][1][attr].decode("UTF-8")
ldapValue = info[0][1][attr]
# Изменяем значения аттрибутов для вывода на печать
for i in range(len(ldapValue)):
ldapValue[i] = self.modGroupAttr(attr, ldapValue[i],
@ -15149,7 +15156,7 @@ with another option."))
if attr in info[0][1]:
ldapValue = info[0][1][attr]
# Изменяем значения аттрибутов для вывода на печать
ldapValue[0] = self.modUserAttr(attr, ldapValue[0], service)
ldapValue = [self.modUserAttr(attr, x, service) for x in ldapValue]
flagFirst = False
for value in ldapValue:
if not flagFirst:
@ -15219,8 +15226,7 @@ with another option."))
for attr in retrAttrs:
if attr in info[0][1]:
ldapValue = info[0][1][attr]
ldapValue[0] = self.modUserAttr(attr, ldapValue[0],
service)
ldapValue = [self.modUserAttr(attr, x, service) for x in ldapValue]
# Если несколько значений то разделяем их запятыми
value = reduce(lambda x,y: ",".join([x,y])[0] == "," and\
",".join([x,y])[1:] or ",".join([x,y])[1:]\
@ -15276,7 +15282,7 @@ with another option."))
if attr in info[0][1]:
ldapValue = info[0][1][attr]
# Изменяем значения аттрибутов для вывода на печать
ldapValue[0] = self.modGroupAttr(attr,ldapValue[0],service)
ldapValue = [self.modGroupAttr(attr, x, service) for x in ldapValue]
#Если несколько значений то разделяем их запятыми
value = reduce(lambda x,y: ",".join([x,y])[0] == "," and\
",".join([x,y])[1:] or ",".join([x,y])[1:]\
@ -15453,7 +15459,7 @@ with another option."))
if attr in info[0][1]:
ldapValue = info[0][1][attr]
# Изменяем значения аттрибутов для вывода на печать
ldapValue[0] = self.modUserAttr(attr, ldapValue[0], service)
ldapValue = [self.modUserAttr(attr, x, service) for x in ldapValue]
# Если несколько значений то разделяем их запятыми
value = reduce(lambda x,y: ",".join([x,y])[0] == "," and\
",".join([x,y])[1:] or ",".join([x,y])[1:]\

@ -0,0 +1,20 @@
#!/usr/bin/python
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
if __name__ == '__main__':
ldapObj = cl_ldap.cl_ldap("cl-groupmod")
obj = cl_ldap.servSamba()
for def_group_name, def_comment in ((x.name, x.comment) for x in ldapObj.staticGroups.values()):
print(f"Reseting comment for group: {def_group_name}")
obj.modGroupSambaServer(def_group_name, {"c" : def_comment})
Loading…
Cancel
Save