Beispiel #1
0
    def process(self, obj, key, valDict):
        if len(valDict[key]['value']) and type(valDict[key]['value'][0]) in [str, unicode]:
            lm, nt = smbpasswd.hash(valDict[key]['value'][0])
            valDict['sambaNTPassword'] = GOsaObjectFactory.createNewProperty(valDict[key]['backend'], 'String', value=[nt])
            valDict['sambaLMPassword'] = GOsaObjectFactory.createNewProperty(valDict[key]['backend'], 'String', value=[lm])
        else:
            raise ValueError("Unknown input type for filter %s. Type is '%s'!" % (
                self.__class__.__name__, type(valDict[key]['value'])))

            return key, valDict
Beispiel #2
0
    def process(self, obj, key, valDict):
        mapping = { 'D': 'accountDisabled',
                    'H': 'homeDirectoryRequired',
                    'I': 'interDomainTrust',
                    'L': 'isAutoLocked',
                    'M': 'anMNSLogonAccount',
                    'N': 'passwordNotRequired',
                    'S': 'serverTrustAccount',
                    'T': 'temporaryDuplicateAccount',
                    'U': 'normalUserAccount',
                    'W': 'worktstationTrustAccount',
                    'X': 'passwordDoesNotExpire'}

        # Add newly introduced properties.
        for src in mapping:
            valDict[mapping[src]] = GOsaObjectFactory.createNewProperty(valDict[key]['backend'], 'Boolean', value=[False], skip_save=True)
            valDict[key]['dependsOn'].append(mapping[src])

        # Now parse the existing acctFlags
        if len(valDict[key]['value']) >= 1:
            smbAcct = valDict[key]['value'][0]
            for src in mapping:
                if src in set(smbAcct):
                    valDict[mapping[src]]['value'] = [True]

        return key, valDict
Beispiel #3
0
# Register pseudo event handler
def l(event):
    print "%s event catched: %s of %s" % (event.__class__.__name__, event.reason, event.uuid)


zope.event.subscribers.append(l)

# use create, update, remove, move, extend, retract
if len(sys.argv) != 2:
    mode = "update"
else:
    mode = sys.argv[1]
    del sys.argv[1]

f = GOsaObjectFactory()
# print f.identifyObject(u"cn=Klaus Mustermann,ou=people,dc=gonicus,dc=de")

if mode == "create":
    p = f.getObject("GenericUser", u"ou=people,dc=gonicus,dc=de", mode="create")

if mode in ["update", "move", "remove"]:
    p = f.getObject("GenericUser", u"cn=Klaus Mustermann,ou=people,dc=gonicus,dc=de")

if mode == "extend":
    p = f.getObject("PosixUser", u"cn=Klaus Mustermann,ou=people,dc=gonicus,dc=de", mode="extend")
    p.uidNumber = 4711
    p.gidNumber = 4711
    p.homeDirectory = "/home/cajus"
    p.commit()
    exit(0)
Beispiel #4
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
import datetime
import sys
import os
import pprint
from gosa.agent.objects import GOsaObjectFactory

f = GOsaObjectFactory()
p = f.getObject('SambaUser', u"cn=Playground Tester,ou=people,dc=gonicus,dc=de", mode="update")

for prop in p.listProperties():
    print "Attribute %s: %s" % (prop.ljust(40), getattr(p, prop))

#p.sambaLogonTime = datetime.datetime.today()
#p.sambaPwdCanChange = datetime.datetime.today()
#p.sambaKickoffTime = datetime.datetime.today()
#p.sambaLogoffTime = datetime.datetime.today()
#p.sambaPwdLastSet = datetime.datetime.today()
#p.sambaBadPasswordTime = datetime.datetime.today()
#p.sambaPwdMustChange = datetime.datetime.today()
#p.sambaBadPasswordCount = 5
#p.displayName = "PeterPan"

#p.passwordNotRequired = True
p.serverTrustAccount = not p.serverTrustAccount
p.sambaHomePath = r"\\hallo\welt"
p.sambaHomeDrive = "D:"

for entry in p.sambaLogonHours: