Beispiel #1
0
class ConstantsActiveDirectory(Constants.Constants):
    """ AD constants for the old AD-sync.

    Should be removed when everyone has migrated to the AD sync from 2013.

    """

    # FIXME: This Constants-class will eventually be moved to an AD-modul.
    # Jazz, 2009-03-18
    system_ad = _AuthoritativeSystemCode('AD',
                                         'Information from Active Directory')

    externalid_groupsid = _EntityExternalIdCode(
        'AD_GRPSID', Constants.Constants.entity_group,
        "Group's SID, fetched from Active Directory")
    externalid_accountsid = _EntityExternalIdCode(
        'AD_ACCSID', Constants.Constants.entity_account,
        "Account's SID, fetched from Active Directory")
    trait_exchange_mdb = _EntityTraitCode(
        'exchange_mdb', Constants.Constants.entity_account,
        "The assigned mailbox-database in Exchange for the given account.")
    # traits used to "exempt" entities from being exported to AD2
    trait_account_exempt = _EntityTraitCode(
        'account_exempt', Constants.Constants.entity_account,
        'Exempt the given account from being exported')
    trait_group_exempt = _EntityTraitCode(
        'group_exempt', Constants.Constants.entity_group,
        'Exempt the given group from being exported')
Beispiel #2
0
class Constants(Constants.Constants):

    # employees - affiliation definition
    affiliation_ansatt = _PersonAffiliationCode('ANSATT', 'Ansatt ved NMH')
    # affiliations for employees
    affiliation_status_ansatt_ovlaerer = _PersonAffStatusCode(
        affiliation_ansatt, 'ans_ovlaerer', 'Ansatt ved NMH, øvingslærer.')

    # affiliations for others
    affiliation_manuell = _PersonAffiliationCode(
        'MANUELL', ('Tilknyttet NMH uten å være registrert i et av de'
                    ' autoritative kildesystemene'))
    affiliation_status_manuell_inaktiv = _PersonAffStatusCode(
        affiliation_manuell, 'inaktiv',
        'Person uten ekte tilknytning til NMH. Bruk med forsiktighet!')

    # Spread definitions - user related
    spread_ad_account = _SpreadCode('account@ad',
                                    Constants.Constants.entity_account,
                                    'Brukeren kjent i AD ved NMH')
    spread_exchange_account = _SpreadCode('account@exchange',
                                          Constants.Constants.entity_account,
                                          'Brukeren kjent i AD ved NMH')

    # Spread definitions - group related
    spread_ad_group = _SpreadCode('group@ad', Constants.Constants.entity_group,
                                  'Gruppe kjent i AD ved NMH')
    spread_lms_group = _SpreadCode('group@lms',
                                   Constants.Constants.entity_group,
                                   'Gruppe kjent i LMSen til NMH')

    # Spread definitions - person relates
    spread_adgang_person = _SpreadCode(
        'person@adgang', Constants.Constants.entity_person,
        'Person kjent i adgangssystemet til NMH')

    # Traits for fagområde
    trait_fagomrade_fagfelt = _EntityTraitCode(
        'fagfelt', Constants.Constants.entity_person,
        'Trait registering part of fagområde: fagfelt')
    trait_fagomrade_instrument = _EntityTraitCode(
        'instrument', Constants.Constants.entity_person,
        'Trait registering part of fagområde: instrument')

    # Trait for fagmiljø
    trait_fagmiljo = _EntityTraitCode('fagmiljo',
                                      Constants.Constants.entity_person,
                                      'Trait registering fagmiljø')
Beispiel #3
0
class GuestConstants(Constants):
    """ Guest constants. """

    account_guest = _AccountCode('gjestebruker', 'Gjestekonto')

    trait_guest_owner = _EntityTraitCode(
        'guest_owner', Constants.entity_account,
        "Trait for storing the entity_id that is responsible for a guest "
        "account. The trait is given to the guest account.")

    trait_guest_name = _EntityTraitCode(
        'guest_name', Constants.entity_account,
        "The full name of the user of the guest account. "
        "The trait is given to the guest account.")

    # Quarantine is given on creation, but with a delayed start date.
    quarantine_guest_old = _QuarantineCode('guest_old',
                                           'Expired guest account.')
Beispiel #4
0
class Constants(_c.Constants):
    """
    Constants used by PasswordNotifier
    """
    trait_passwordnotifier_excepted = _EntityTraitCode(
        'autopass_except',
        _c.Constants.entity_account,
        "Trait marking accounts whose password's change is not enforced "
        "by PasswordNotifier.")

    trait_passwordnotifier_notifications = _EntityTraitCode(
        'pw_notifications',
        _c.Constants.entity_account,
        "Trait for PasswordNotifier's bookkeeping.")

    trait_passwordnotifier_sms_notifications = _EntityTraitCode(
        'pw_sms_notificat',
        _c.Constants.entity_account,
        "Trait for bookkeeping number of SMSes sent by PasswordNotifier.")
Beispiel #5
0
class ConstantsActiveDirectory(Constants):
    """Constants for the Active Directory module, including the basic set of
    AD-attributes that we could administrate.

    Note that some attributes could be administered by the AD-sync, but is based
    on other information in Cerebrum. Surname, DisplayName and GivenName are
    such examples - they all use information from L{person_name}, which is taken
    care of by the AD-sync. Such attributes are therefore not necessary to store
    in the attribute table, at least in general - some instaces might have
    special needs.

    """
    system_ad = _AuthoritativeSystemCode('AD',
                                         'Information from Active Directory')
    externalid_groupsid = _EntityExternalIdCode(
        'AD_GRPSID', Constants.entity_group,
        "Group's SID, fetched from Active Directory")
    externalid_accountsid = _EntityExternalIdCode(
        'AD_ACCSID', Constants.entity_account,
        "Account's SID, fetched from Active Directory")

    trait_exchange_mdb = _EntityTraitCode(
        'exchange_mdb', Constants.entity_account,
        "The assigned mailbox-database in Exchange for the given account.")

    ### Attributes

    ad_attribute_homedir = _ADAttrCode('HomeDirectory',
                                       'HomeDirectory for an object in AD',
                                       False)

    ad_attribute_homedrive = _ADAttrCode('HomeDrive',
                                         'HomeDrive for an account in AD',
                                         False)

    ad_attribute_scriptpath = _ADAttrCode('ScriptPath',
                                          'ScriptPath for an account in AD',
                                          False)

    # Titles should by default be stored in person_name.
    #ad_attribute_title = _ADAttrCode('Title', 'Title for an account in AD',
    #                                 False)

    # Mail is either handled by its own module, or it is stored as contact_info
    #ad_attribute_mail = _ADAttrCode('Mail', 'Mail address for an account in AD',
    #                                 False)

    # TODO: should we make group scope (global/universal) and group category
    # (security/distribution) be set through attributes?

    ADAttribute = _ADAttrCode
Beispiel #6
0
class Constants(Constants.Constants):
    # Org. hierarchy perspective
    perspective_ekstens = _OUPerspectiveCode('Ekstens', 'Ekstens')
    perspective_sats = _OUPerspectiveCode('SATS', 'SATS')

    # Authoritative system codes
    system_sats = _AuthoritativeSystemCode(
        'SATS', 'Personopplysninger hentet fra skolesystemet SATS')
    system_ekstens = _AuthoritativeSystemCode(
        'EKSTENS', 'Personopplysninger hentet fra skolesystemet EKSTENS')
    system_tpsys = _AuthoritativeSystemCode(
        'TPSYS', 'Personopplysninger hentet fra skolesystemet TPSYS')
    system_migrate = _AuthoritativeSystemCode(
        'MIGRATE', 'Personopplysninger hentet fra tidligere brukte systemer')

    # External ID codes
    externalid_orgnr = _EntityExternalIdCode('ORGNR',
                                             Constants.Constants.entity_ou,
                                             'Organisasjonsnummer (fra SAS)')
    # Disse kodene er det foreløpig usikkert om skal brukes
    externalid_ouid = _EntityExternalIdCode(
        'OUID', Constants.Constants.entity_ou,
        'Organisasjonens unike identifikator')
    externalid_skolenr = _EntityExternalIdCode('SKOLENR',
                                               Constants.Constants.entity_ou,
                                               'Skolenummer')
    externalid_kommunenr = _EntityExternalIdCode('KOMMNR',
                                                 Constants.Constants.entity_ou,
                                                 'Kommunenummer')
    externalid_ou_oid = _EntityExternalIdCode('OUOID',
                                              Constants.Constants.entity_ou,
                                              'OU OID')
    externalid_userid = _EntityExternalIdCode(
        'USERID', Constants.Constants.entity_person, 'Bruker ID')
    externalid_klasse = _EntityExternalIdCode('kl-ID',
                                              Constants.Constants.entity_group,
                                              'Klasse ID')
    externalid_faggruppe = _EntityExternalIdCode(
        'fg-ID', Constants.Constants.entity_group, 'Faggruppe ID')
    externalid_klassegruppe = _EntityExternalIdCode(
        'kg-ID', Constants.Constants.entity_group, 'klassegruppe ID')

    # Spread codes
    # AD
    spread_ad_acc = _SpreadCode('account@ad',
                                Constants.Constants.entity_account,
                                'Brukeren kan logge inn på Windows PC-er.')
    spread_ad_grp = _SpreadCode('group@ad', Constants.Constants.entity_group,
                                'Gruppen brukes av Active Directory.')
    spread_ad_ou = _SpreadCode('ou@ad', Constants.Constants.entity_ou,
                               'OUen brukes av Active Directory.')
    # LMS
    spread_lms_acc = _SpreadCode(
        'account@lms', Constants.Constants.entity_account,
        'Brukeren kan logge inn på LMS (f.eks. Classfronter).')
    spread_lms_grp = _SpreadCode('group@lms', Constants.Constants.entity_group,
                                 'Gruppen brukes av LMS-et.')
    spread_lms_per = _SpreadCode('person@lms',
                                 Constants.Constants.entity_person,
                                 'Person kjent i organisasjonens LMS')
    spread_lms_ou = _SpreadCode(
        'ou@lms', Constants.Constants.entity_ou,
        'Eksportere OU til LMS (f.eks. Classfronter).')
    # OID
    spread_oid_acc = _SpreadCode(
        'account@oid', Constants.Constants.entity_account,
        'Brukeren kan logge inn på webportalen (OCS).')
    spread_oid_grp = _SpreadCode('group@oid', Constants.Constants.entity_group,
                                 'Gruppen brukes av webportalen (OCS).')
    spread_oid_ou = _SpreadCode('ou@oid', Constants.Constants.entity_ou,
                                'OU-en skal eksporteres til OID.')
    # LDAP
    spread_ldap_per = _SpreadCode(
        'person@ldap', Constants.Constants.entity_person,
        'Brukeren kan benytte seg av FEIDE-innlogging.')
    spread_ldap_grp = _SpreadCode('group@ldap',
                                  Constants.Constants.entity_group,
                                  'Gruppen brukes i LDAP.')

    # Quarantine codes
    quarantine_generell = _QuarantineCode('generell', 'Generell sperring')
    # Affiliation codes
    affiliation_ansatt = _PersonAffiliationCode(
        'ANSATT', 'Personen er registrert som ansatt i SAS.')
    affiliation_status_ansatt_aktiv = _PersonAffStatusCode(
        affiliation_ansatt, 'aktiv',
        'Personen har aktiv tilsetting, registrert i SAS.')
    affiliation_elev = _PersonAffiliationCode(
        'ELEV', 'Personen er registrert som elev i SAS.')
    affiliation_status_elev_aktiv = _PersonAffStatusCode(
        affiliation_elev, 'aktiv',
        'Eleven har en aktiv tilknytning til skolen, registrert i SAS.')
    affiliation_foresatt = _PersonAffiliationCode(
        'FORESATT', 'Foresatt registrert i SAS.')
    affiliation_status_foresatt_aktiv = _PersonAffStatusCode(
        affiliation_foresatt, 'aktiv',
        'Foresatt for elev med aktiv tilknytning til skole, registrert i SAS.')
    affiliation_manuell = _PersonAffiliationCode(
        'MANUELL', 'Personen er ikke registrert i SAS.')
    affiliation_status_manuell_gjest = _PersonAffStatusCode(
        affiliation_manuell, 'gjest',
        'Personen er tilknyttet skolen som gjest.')
    affiliation_teacher = _PersonAffiliationCode('LÆRER',
                                                 'Lærer registrert i SAS.')
    affiliation_status_teacher_aktiv = _PersonAffStatusCode(
        affiliation_teacher, 'aktiv', 'Lærer aktiv ved en skole.')
    affiliation_tilknyttet = _PersonAffiliationCode(
        'TILKNYTTET', 'Personen knyttet til organisasjonen')
    affiliation_status_tilknyttet_aktiv = _PersonAffStatusCode(
        affiliation_tilknyttet, 'aktiv', 'Person aktiv ved organisasjonen.')
    affiliation_affiliate = _PersonAffiliationCode(
        'AFFILIATE', 'Personen knyttet til organisasjonen')
    affiliation_status_affiliate_aktiv = _PersonAffStatusCode(
        affiliation_affiliate, 'aktiv', 'Person aktiv ved organisasjonen.')

    # Account_type codes

    account_test = _AccountCode('test', 'Testkonto')

    # Contact_types
    # TBD: contact_job_mobile should be removed. contact_private_mobile is
    # moved to Cerebrum.Constants.CommonConstants
    contact_job_mobile = _ContactInfoCode('JOBMOBILE', 'JOBMOBILE')
    contact_private_email = _ContactInfoCode('PRIVATEEMAIL', 'PRIVATEEMAIL')

    # Mail traits
    trait_homedb_info = _EntityTraitCode(
        'homeMDB', Constants.Constants.entity_account,
        'Register Exchange homeMDB for e-mail accounts')
    trait_x400_addr = _EntityTraitCode(
        'x400address', Constants.Constants.entity_account,
        'Register old addresses for e-mail accounts')
    trait_x500_addr = _EntityTraitCode(
        'x500address', Constants.Constants.entity_account,
        'Register old addresses for e-mail accounts')

    # Traits for migrating between versions of Exchange:

    # Marking accounts that are being migrated. Such accounts should not be
    # updated in AD until the migration is done.
    trait_exchange_under_migration = _EntityTraitCode(
        'under_migration', Constants.Constants.entity_account,
        "Accounts that is under migrationt to another Exchange version.")
    # Need to differ between migrated and non-migrated accounts
    trait_exchange_migrated = _EntityTraitCode(
        'exch_migrated', Constants.Constants.entity_account,
        "Account that has been migrated to a newer Exchange version.")

    # Group traits
    trait_group_imported = _EntityTraitCode(
        'imported_group', Constants.Constants.entity_group,
        'Register last_seen date for groups imported from by ABC')
    trait_group_derived = _EntityTraitCode(
        'internal_group', Constants.Constants.entity_group,
        'Register last_seen date for internaly created groups')
    trait_group_affiliation = _EntityTraitCode(
        'aff_group', Constants.Constants.entity_group,
        'Tag groups created to become affiliation groups.')
    # tag shadow groups as "undervisningsgruppe" and "klassegruppe"
    trait_shdw_undv = _EntityTraitCode(
        'undv_group', Constants.Constants.entity_group,
        'Tag groups created to represent "undervisningsgruppe".')
    trait_shdw_kls = _EntityTraitCode(
        'kls_group', Constants.Constants.entity_group,
        'Tag groups created to represent "klassegruppe".')
    # tag affiliation based auto-groups
    trait_auto_aff = _EntityTraitCode(
        'auto_group', Constants.Constants.entity_group,
        'Tag affiliations based automatic groups.')
    # Guardianship-related traits
    trait_guardian_of = _EntityTraitCode('guardian_of',
                                         Constants.Constants.entity_person,
                                         'Register guardees for this person')
    trait_guardian_urls = _EntityTraitCode('guardian_urls',
                                           Constants.Constants.entity_person,
                                           'Register urls for this person')

    # SMS traits
    trait_sms_reminder = _EntityTraitCode('sms_reminder',
                                          Constants.Constants.entity_account,
                                          'Tagging that an SMS has been sent')
Beispiel #7
0
class Constants(Constants.Constants):
    system_lt = _AuthoritativeSystemCode('LT', 'LT')
    system_ureg = _AuthoritativeSystemCode('Ureg', 'Migrerte data, utdatert')
    system_fs_derived = _AuthoritativeSystemCode('FS-auto',
                                                 'Utledet av FS data')
    system_folk_uio_no = _AuthoritativeSystemCode('folk.uio.no',
                                                  'http://folk.uio.no/')

    perspective_lt = _OUPerspectiveCode('LT', 'LT')

    account_test = _AccountCode('testbruker', 'Testkonto')
    account_kurs = _AccountCode('kursbruker', 'Kurskonto')
    account_uio_guest = _AccountCode('gjestebruker_uio', 'Manuell gjestekonto')

    affiliation_ansatt = _PersonAffiliationCode(
        'ANSATT', 'Registrert som aktiv ansatt ved UiO')
    affiliation_status_ansatt_vit = _PersonAffStatusCode(
        affiliation_ansatt, 'vitenskapelig', 'Vitenskapelig ansatt')
    affiliation_status_ansatt_bil = _PersonAffStatusCode(
        affiliation_ansatt, 'bilag', 'Bilagslønnet')
    affiliation_status_ansatt_ltreg = _PersonAffStatusCode(
        affiliation_ansatt, 'ltreg', 'Registert som gjest, utdatert')
    affiliation_status_ansatt_tekadm = _PersonAffStatusCode(
        affiliation_ansatt, 'tekadm', 'Teknisk/administrativt ansatt')
    affiliation_status_ansatt_perm = _PersonAffStatusCode(
        affiliation_ansatt, 'permisjon', 'Ansatt, for tiden i permisjon')

    affiliation_student = _PersonAffiliationCode(
        'STUDENT', 'Student ved UiO, registrert i FS')
    affiliation_status_student_soker = _PersonAffStatusCode(
        affiliation_student, 'soker', 'Registrert med søknad i FS')
    affiliation_status_student_tilbud = _PersonAffStatusCode(
        affiliation_student, 'tilbud', 'Registrert tilbud om opptak i FS')
    affiliation_status_student_opptak = _PersonAffStatusCode(
        affiliation_student, 'opptak',
        'Registrert med gyldig studierett i FS ')
    affiliation_status_student_ny = _PersonAffStatusCode(
        affiliation_student, 'ny',
        'Registrert med ny, gyldig studierett i FS')
    affiliation_status_student_aktiv = _PersonAffStatusCode(
        affiliation_student, 'aktiv', 'Registrert som aktiv student i FS')
    affiliation_status_student_emnestud = _PersonAffStatusCode(
        affiliation_student, 'emnestud',
        'Registrert som aktiv emnestudent i FS')
    affiliation_status_student_drgrad = _PersonAffStatusCode(
        affiliation_student, 'drgrad',
        'Registrert som aktiv doktorgradsstudent i FS')
    affiliation_status_student_privatist = _PersonAffStatusCode(
        affiliation_student, 'privatist', 'Registrert som privatist i FS')
    affiliation_status_student_evu = _PersonAffStatusCode(
        affiliation_student, 'evu', 'Registrert som EVU-student i FS')
    affiliation_status_student_perm = _PersonAffStatusCode(
        affiliation_student, 'permisjon',
        'Registrert med gyldig permisjon i FS')
    affiliation_status_student_alumni = _PersonAffStatusCode(
        affiliation_student, 'alumni', 'Har fullført studieprogram i FS')

    affiliation_tilknyttet = _PersonAffiliationCode(
        'TILKNYTTET', 'Tilknyttet UiO uten å være student eller ansatt')
    affiliation_tilknyttet_fagperson = _PersonAffStatusCode(
        affiliation_tilknyttet, 'fagperson', 'Registrert som fagperson i FS')
    affiliation_tilknyttet_emeritus = _PersonAffStatusCode(
        affiliation_tilknyttet, 'emeritus',
        'Registrert med rolle EMERITUS i SAPUiO')
    affiliation_tilknyttet_bilag = _PersonAffStatusCode(
        affiliation_tilknyttet, 'bilag',
        'Registrert med rolle BILAGSLØN i SAPUiO')
    affiliation_tilknyttet_ekst_forsker = _PersonAffStatusCode(
        affiliation_tilknyttet, 'ekst_forsker',
        'Registrert med rolle EF-FORSKER eller SENIORFORS i SAPUiO')
    affiliation_tilknyttet_gjesteforsker = _PersonAffStatusCode(
        affiliation_tilknyttet, 'gjesteforsker',
        'Registrert med rolle GJ-FORSKER i SAPUiO')
    affiliation_tilknyttet_assosiert_person = _PersonAffStatusCode(
        affiliation_tilknyttet, 'assosiert_person',
        'Registrert med rolle ASSOSIERT i SAPUiO')
    affiliation_tilknyttet_frida_reg = _PersonAffStatusCode(
        affiliation_tilknyttet, 'frida_reg',
        'Registrert med rolle REGANSV og REG-ANSV i SAPUiO')
    affiliation_tilknyttet_ekst_stip = _PersonAffStatusCode(
        affiliation_tilknyttet, 'ekst_stip',
        'Registrert med rolle EF-STIP i SAPUiO')
    affiliation_tilknyttet_sivilarbeider = _PersonAffStatusCode(
        affiliation_tilknyttet, 'sivilarbeider',
        'Personer registrert i LT med gjestetypekode=SIVILARB')
    affiliation_tilknyttet_diverse = _PersonAffStatusCode(
        affiliation_tilknyttet, 'diverse',
        'Personer registrert i LT med gjestetypekode=IKKE ANGITT')
    affiliation_tilknyttet_pcvakt = _PersonAffStatusCode(
        affiliation_tilknyttet, 'pcvakt',
        'Personer registrert i LT med gjestetypekode=PCVAKT')
    affiliation_tilknyttet_unirand = _PersonAffStatusCode(
        affiliation_tilknyttet, 'unirand',
        'Personer registrert i LT med gjestetypekode=UNIRAND')
    affiliation_tilknyttet_grlaerer = _PersonAffStatusCode(
        affiliation_tilknyttet, 'grlaerer',
        'Personer registrert i LT med gjestetypekode=GRUPPELÆRER')
    affiliation_tilknyttet_ekst_partner = _PersonAffStatusCode(
        affiliation_tilknyttet, 'ekst_partner',
        'Personer registrert i LT med gjestetypekode=EKST. PART')
    affiliation_tilknyttet_studpol = _PersonAffStatusCode(
        affiliation_tilknyttet, 'studpol',
        'Personer registrert i LT'
        ' med gjestetypekode=ST-POL FRI eller ST-POL UTV')
    affiliation_tilknyttet_studorg = _PersonAffStatusCode(
        affiliation_tilknyttet, 'studorg',
        'Personer registrert i LT'
        ' med gjestetypekode=ST-ORG FRI eller ST-ORG UTV')
    affiliation_tilknyttet_innkjoper = _PersonAffStatusCode(
        affiliation_tilknyttet, 'innkjoper',
        'Registrert med rolle INNKJØPER i SAPUiO')
    affiliation_tilknyttet_isf = _PersonAffStatusCode(
        affiliation_tilknyttet, 'isf',
        'Person tilknyttet Institutt for samfunnsforskning')
    affiliation_tilknyttet_ekstern = _PersonAffStatusCode(
        affiliation_tilknyttet, 'ekstern',
        'Person tilknyttet enhet med avtale om utvidede IT-tilganger (FEIDE)')

    affiliation_manuell = _PersonAffiliationCode(
        'MANUELL', 'Tilknyttet enheter/institusjoner som USIT har avtale med')
    affiliation_manuell_alumni = _PersonAffStatusCode(
        affiliation_manuell, 'alumni', 'Uteksaminerte studenter')
    affiliation_manuell_ekstern = _PersonAffStatusCode(
        affiliation_manuell, 'ekstern',
        'Person tilknyttet enhet med avtale om begrensede IT-tilganger')

    # We override the default settings for shells, thus this file
    # should be before PosixUser in cereconf.CLASS_CONSTANTS

    posix_shell_bash = _PosixShellCode('bash', '/local/gnu/bin/bash')
    posix_shell_csh = _PosixShellCode('csh', '/bin/csh')
    posix_shell_false = _PosixShellCode('false', '/bin/false')
    posix_shell_ksh = _PosixShellCode('ksh', '/bin/ksh')
    posix_shell_ma104 = _PosixShellCode('ma104', '/local/bin/ma104')
    posix_shell_nologin = _PosixShellCode('nologin', '/local/etc/nologin')
    posix_shell_nologin_autostud = _PosixShellCode(
        'nologin.autostud', '/local/etc/shells/nologin.autostud')
    posix_shell_nologin_brk = _PosixShellCode(
        'nologin.brk', '/local/etc/shells/nologin.brk')
    posix_shell_nologin_chpwd = _PosixShellCode(
        'nologin.chpwd', '/local/etc/shells/nologin.chpwd')
    posix_shell_nologin_ftpuser = _PosixShellCode(
        'nologin.ftpuser', '/local/etc/shells/nologin.ftpuser')
    posix_shell_nologin_nystudent = _PosixShellCode(
        'nologin.nystuden', '/local/etc/shells/nologin.nystudent')
    posix_shell_nologin_permisjon = _PosixShellCode(
        'nologin.permisjo', '/local/etc/shells/nologin.permisjon')
    posix_shell_nologin_pwd = _PosixShellCode(
        'nologin.pwd', '/local/etc/shells/nologin.pwd')
    posix_shell_nologin_sh = _PosixShellCode(
        'nologin.sh', '/local/etc/shells/nologin.sh')
    posix_shell_nologin_sluttet = _PosixShellCode(
        'nologin.sluttet', '/local/etc/shells/nologin.sluttet')
    posix_shell_nologin_stengt = _PosixShellCode(
        'nologin.stengt', '/local/etc/shells/nologin.stengt')
    posix_shell_nologin_teppe = _PosixShellCode(
        'nologin.teppe', '/local/etc/shells/nologin.teppe')
    posix_shell_puberos = _PosixShellCode(
        'puberos', '/local/bin/puberos')
    posix_shell_pwsh = _PosixShellCode(
        'pwsh', '/etc/pw/sh')
    posix_shell_sftp_server = _PosixShellCode(
        'sftp-server', '/local/openssh/libexec/sftp-server')
    posix_shell_simonshell = _PosixShellCode(
        'simonshell', '/hom/simon/simonshell')
    posix_shell_sh = _PosixShellCode('sh', '/bin/sh')
    posix_shell_sync = _PosixShellCode('sync', '/bin/sync')
    posix_shell_tcsh = _PosixShellCode('tcsh', '/local/bin/tcsh')
    posix_shell_true = _PosixShellCode('true', '/bin/true')
    posix_shell_zsh = _PosixShellCode('zsh', '/local/bin/zsh')

    spread_uio_nis_user = _SpreadCode(
        'NIS_user@uio', Constants.Constants.entity_account,
        'User in NIS domain "uio"')
    spread_uio_nis_fg = _SpreadCode(
        'NIS_fg@uio', Constants.Constants.entity_group,
        'File group in NIS domain "uio"')
    spread_uio_nis_ng = _SpreadCode(
        'NIS_ng@uio', Constants.Constants.entity_group,
        'Net group in NIS domain "uio"')
    spread_ifi_nis_user = _SpreadCode(
        'NIS_user@ifi', Constants.Constants.entity_account,
        'User in NIS domain "ifi"')
    spread_ifi_nis_fg = _SpreadCode(
        'NIS_fg@ifi', Constants.Constants.entity_group,
        'File group in NIS domain "ifi"')
    spread_ifi_nis_ng = _SpreadCode(
        'NIS_ng@ifi', Constants.Constants.entity_group,
        'Net group in NIS domain "ifi"')
    spread_hpc_nis_user = _SpreadCode(
        'NIS_user@hpc', Constants.Constants.entity_account,
        'User in NIS domain, exported to HPC')
    spread_hpc_nis_fg = _SpreadCode(
        'NIS_fg@hpc', Constants.Constants.entity_group,
        'File group in NIS domain "uio" exported to HPC')
    spread_uio_ldap_person = _SpreadCode(
        'LDAP_person', Constants.Constants.entity_person,
        'Person included in LDAP directory')
    spread_isf_ldap_person = _SpreadCode(
        'LDAP_isf_person', Constants.Constants.entity_person,
        'Person included in ISF-s LDAP directory')
    spread_uio_ldap_ou = _SpreadCode(
        'LDAP_OU', Constants.Constants.entity_ou,
        'OU included in LDAP directory')
    spread_uio_ldap_account = _SpreadCode(
        'LDAP_account', Constants.Constants.entity_account,
        'Account included the LDAP directory')
    spread_uio_org_ou = _SpreadCode(
        'ORG_OU', Constants.Constants.entity_ou,
        'OU defined as part of UiOs org.structure proper')
    spread_uio_ad_account = _SpreadCode(
        'AD_account', Constants.Constants.entity_account,
        'Account included in Active Directory at UiO')
    spread_uio_ad_group = _SpreadCode(
        'AD_group', Constants.Constants.entity_group,
        'Group included in Active Directory at UiO')
    spread_uio_ad_xpand = _SpreadCode(
        'Xpand_group', Constants.Constants.entity_group,
        "Group included in Xpand's AD-OU")

    spread_uio_ua = _SpreadCode(
        'UA@uio', Constants.Constants.entity_person,
        'Person exported to UA')

    # Spreads for Exchange
    spread_exchange_account = _SpreadCode(
        'exchange_acc@uio', Constants.Constants.entity_account,
        'An account with an Exchange-mailbox at UiO')
    spread_exchange_group = _SpreadCode(
        'exch_group@uio', Constants.Constants.entity_group,
        'A mail enabled security group for Exchange')
    spread_exchange_shared_mbox = _SpreadCode(
        'exch_shared_mbox', Constants.Constants.entity_group,
        'Group exposed as a shared mailbox in Exchange')

    spread_uio_ldap_guest = _SpreadCode(
        'guest@ldap', Constants.Constants.entity_account,
        'LDAP/RADIUS spread for wireless accounts')

    # exchange-related-jazz
    # this code should be removed from the cerebrum-db as soon as
    # migration to Exchange is completed. Removal will serve two
    # purposes; firstly as a code clean-up, secondly as a check that
    # the migration was completed properly and no mailboxes are
    # registered as IMAP-accounts.
    spread_uio_imap = _SpreadCode(
        'IMAP@uio', Constants.Constants.entity_account,
        'E-mail user at UiO')
    spread_fronter_kladdebok = _SpreadCode(
        'CF@uio_kladdebok', Constants.Constants.entity_group,
        'Group representing a course that should be exported to the '
        'ClassFronter instance on kladdebok.uio.no. Should only be given to '
        'groups that have been automatically generated from FS.')
    spread_fronter_blyant = _SpreadCode(
        'CF@uio_blyant', Constants.Constants.entity_group,
        'Group representing a course that should be exported to the '
        'ClassFronter instance on blyant.uio.no. Should only be given to '
        'groups that have been automatically generated from FS.''')
    spread_fronter_petra = _SpreadCode(
        'CF@uio_petra', Constants.Constants.entity_group,
        'Group representing a course that should be exported to the '
        'ClassFronter instance on petra.uio.no. Should only be given to '
        'groups that have been automatically generated from FS.')
    spread_fronter_dotcom = _SpreadCode(
        '*****@*****.**', Constants.Constants.entity_group,
        'Group representing a course that should be exported to the '
        'ClassFronter instance on fronter.com. Should only be given to '
        'groups that have been automatically generated from FS.')

    # LDAP: Brukere, grupper

    # TODO: Kunne begrense tillatte spreads for spesielt priviligerte
    # brukere.

    quarantine_generell = _QuarantineCode('generell', 'Generell splatt')
    quarantine_teppe = _QuarantineCode('teppe',
                                       'Kalt inn på teppet til drift')
    quarantine_slutta = _QuarantineCode('slutta', 'Personen har slutta')
    quarantine_system = _QuarantineCode('system', 'Systembrukar som ikke'
                                        ' skal logge inn')
    quarantine_permisjon = _QuarantineCode('permisjon',
                                           'Brukeren har permisjon')
    quarantine_svakt_passord = _QuarantineCode('svakt_passord',
                                               'For dårlig passord')
    quarantine_autopassord = _QuarantineCode(
        'autopassord',
        'Passord ikke skiftet trass pålegg')
    quarantine_auto_emailonly = _QuarantineCode(
        'auto_kunepost',
        'Ikke ordinær student, tilgang til bare e-post')
    quarantine_auto_inaktiv = _QuarantineCode('auto_inaktiv',
                                              'Ikke aktiv student, utestengt')
    quarantine_autoekstern = _QuarantineCode('autoekstern',
                                             'Ekstern konto gått ut på dato')
    quarantine_autointsomm = _QuarantineCode('autointsomm',
                                             'Sommerskolen er ferdig for i år')
    quarantine_nologin = _QuarantineCode('nologin',
                                         'Gammel ureg karantene nologin')
    quarantine_nologin_brk = _QuarantineCode(
        'nologin_brk',
        'Gammel ureg karantene nologin_brk')
    quarantine_nologin_ftpuser = _QuarantineCode(
        'nologin_ftpuser',
        'Gammel ureg karantene nologin_ftpuser')
    quarantine_nologin_nystudent = _QuarantineCode(
        'nologin_nystuden',
        'Gammel ureg karantene nologin_nystudent')
    quarantine_nologin_sh = _QuarantineCode('nologin_sh',
                                            'Gammel ureg karantene nologin_sh')
    quarantine_nologin_stengt = _QuarantineCode(
        'nologin_stengt',
        'Gammel ureg karantene nologin_stengt')
    quarantine_ou_notvalid = _QuarantineCode(
        'ou_notvalid',
        'OU not valid from external source')
    quarantine_ou_remove = _QuarantineCode('ou_remove',
                                           'OU is clean and may be removed')
    quarantine_guest_release = _QuarantineCode(
        'guest_release',
        'Guest user is released but not available.')
    quarantine_oppringt = _QuarantineCode(
        'oppringt',
        'Brukeren er sperret for oppringt-tjenesten.')
    quarantine_vpn = _QuarantineCode('vpn',
                                     'Brukeren er sperret for VPN-tjenesten.')
    quarantine_equant = _QuarantineCode(
        'equant',
        'Brukeren er sperret for Equant tjenesten.')
    quarantine_radius = _QuarantineCode(
        'radius', 'Bruker er sperret for RADIUS-innlogging.')
    quarantine_cert = _QuarantineCode('cert', 'Bruker er sperret av CERT.')
    email_domain_category_uio_globals = _EmailDomainCategoryCode(
        'UIO_GLOBALS',
        "All local_parts defined in domain 'UIO_GLOBALS' are treated"
        " as overrides for all domains posessing this category.")
    email_spam_level_none = _EmailSpamLevelCode(
        'no_filter', 9999, "No email will be filtered as spam")
    email_spam_level_standard = _EmailSpamLevelCode(
        'standard_spam', 7, "Only filter email that obviously is spam")
    email_spam_level_heightened = _EmailSpamLevelCode(
        'most_spam', 5, "Filter most emails that look like spam")
    email_spam_level_aggressive = _EmailSpamLevelCode(
        'aggressive_spam', 3, "Filter everything that resembles spam")
    email_spam_action_none = _EmailSpamActionCode(
        'noaction', "Deliver spam just like legitimate email")
    email_spam_action_folder = _EmailSpamActionCode(
        'spamfolder', "Deliver spam to a separate IMAP folder")
    email_spam_action_delete = _EmailSpamActionCode(
        'dropspam', "Reject messages classified as spam")

    trait_email_server_weight = _EntityTraitCode(
        'em_server_weight', Constants.Constants.entity_host,
        "The relative weight of this server when assigning new users to "
        "an e-mail server.")

    trait_email_pause = _EntityTraitCode(
        'email_pause', EmailConstants.entity_email_target,
        'Pauses delivery of email')

    # TBD: These may fit better into mod_disk_quota as actual mixin
    # tables for disk_info and host_info
    trait_host_disk_quota = _EntityTraitCode(
        'host_disk_quota', Constants.Constants.entity_host,
        "The default quota each user gets for disks on this host, "
        "stored in numval.")
    trait_disk_quota = _EntityTraitCode(
        'disk_quota', Constants.Constants.entity_disk,
        "The existence of this trait means this disk has quota. "
        "numval contains the default quota.  If it is NULL, the default "
        "quota value is taken from the host_disk_quota trait.")

    # Owner trait for GuestUsers module.
    trait_uio_guest_owner = _EntityTraitCode(
        'guest_owner_uio', Constants.Constants.entity_account,
        "When a guest account is requested a group must be set as "
        "owner for the account for the given time.")

    trait_account_generation = _EntityTraitCode(
        'ac_generation', Constants.Constants.entity_account,
        "When a users homedir is archived, this value is increased.")

    trait_student_disk = _EntityTraitCode(
        'student_disk', Constants.Constants.entity_disk,
        "When set, the disk in question is designated as"
        " hosting students' home areas")

    # Trait for tagging a person's primary affiliation, to be used by the web
    # presentations.
    trait_primary_aff = _EntityTraitCode(
        "primary_aff", Constants.Constants.entity_person,
        "A person's chosen primary affiliation,"
        " for use at the web presentations")

    # Trait for tagging -adm,-drift,-null accounts
    trait_sysadm_account = _EntityTraitCode(
        "sysadm_account", Constants.Constants.entity_account,
        "An account used for system administration,"
        " e.g. foo-adm, foo-drift and foo-null users")

    # Trait for passphrase stats
    trait_has_passphrase = _EntityTraitCode(
        'has_passphrase',
        Constants.Constants.entity_account,
        "Account uses passphrase")

    address_other_street = _AddressCode('OTHER_STREET', 'Other street address')
    address_other_post = _AddressCode('OTHER_POST', 'Other post address')

    # Consent related stuff
    consent_office365 = Consent.Constants.EntityConsent(
        'office365',
        entity_type=Constants.Constants.entity_person,
        consent_type=Consent.Constants.consent_opt_in,
        description="Export to office365?")

    # Temporary access for new students:
    #
    # Trait to tag students with temporary access to IT-services
    trait_tmp_student = _EntityTraitCode(
        'tmp_student',
        Constants.Constants.entity_account,
        'Account is granted temporary access')
    #
    # Quarantine for revoking access
    quarantine_auto_tmp_student = _QuarantineCode(
        'auto_tmp_student',
        'Account is no longer active')
Beispiel #8
0
class Constants(Constants.Constants):
    # Affiliations and statuses

    # Project
    affiliation_project = _PersonAffiliationCode('PROJECT',
                                                 'Member of a project')
    # Project Owner
    affiliation_status_project_owner = _PersonAffStatusCode(
        affiliation_project, 'owner', 'Project Owner')
    # Project Administrator (PA)
    affiliation_status_project_admin = _PersonAffStatusCode(
        affiliation_project, 'admin', 'Project Administrator (PA)')
    # Project Member (PM)
    affiliation_status_project_member = _PersonAffStatusCode(
        affiliation_project, 'member', 'Project Member (PM)')

    # Pending
    affiliation_pending = _PersonAffiliationCode('PENDING',
                                                 'Unapproved affiliations')
    # Pending project member (PM)
    affiliation_status_pending_project_member = _PersonAffStatusCode(
        affiliation_pending, 'member',
        'Waiting for getting accepted as a project member')

    # Spreads

    # AD
    spread_ad_account = _SpreadCode('account@ad',
                                    Constants.Constants.entity_account,
                                    'Account should be synced with AD')

    spread_file_group = _SpreadCode('filegroup',
                                    Constants.Constants.entity_group,
                                    'File group')

    spread_net_group = _SpreadCode('netgroup',
                                   Constants.Constants.entity_group,
                                   'Net group')

    spread_ad_host = _SpreadCode('host@ad', DnsConstants.entity_dns_owner,
                                 'Host that is synced with AD')

    # GW

    spread_gateway_account = _SpreadCode(
        'account@gw', Constants.Constants.entity_account,
        'Account to be synced to the gateway')

    # The gateway doesn't care about groups
    # spread_gateway_group = _SpreadCode(
    #    'group@gw', Constants.Constants.entity_group,
    #    'Group to be synced to the gateway')

    # Quarantines

    quarantine_autopassord = _QuarantineCode('autopassord',
                                             'Password out of date')
    quarantine_generell = _QuarantineCode('generell', 'General block')
    quarantine_teppe = _QuarantineCode('teppe', 'Quarantine for severe issues')

    quarantine_not_approved = _QuarantineCode(
        'not_approved', 'Waiting for approval from admin')
    quarantine_project_end = _QuarantineCode(
        'project_end', 'Blocking projects when end date is reached')
    quarantine_project_start = _QuarantineCode(
        'not_started_yet',
        "Project haven't started yet, waiting for start date")

    quarantine_frozen = _QuarantineCode('frozen', 'Project is frozen')

    quarantine_auto_frozen = _QuarantineCode('auto_frozen',
                                             'User is auto-frozen')

    # Source systems
    system_nettskjema = _AuthoritativeSystemCode(
        'Nettskjema', 'Information from Nettskjema, registered by anyone')
    system_ad = _AuthoritativeSystemCode('AD', 'Information from AD')

    # External IDs
    externalid_project_id = _EntityExternalIdCode(
        'projectid', Constants.Constants.entity_ou,
        "Project's external ID, generated by Cerebrum")

    # Traits

    trait_project_group = _EntityTraitCode('project_group',
                                           Constants.Constants.entity_group,
                                           'The project a group belongs to')
    trait_project_host = _EntityTraitCode('project_host',
                                          DnsConstants.entity_dns_owner,
                                          'The project a host belongs to')
    trait_project_subnet = _EntityTraitCode(
        'project_subnet', DnsConstants.entity_dns_subnet,
        'The project a IPv4 subnet belongs to')
    trait_project_subnet6 = _EntityTraitCode(
        'project_subnet6', DnsConstants.entity_dns_ipv6_subnet,
        'The project a IPv6 subnet belongs to')

    trait_project_vm_type = _EntityTraitCode(
        'project_vm_type', Constants.Constants.entity_ou,
        'The type of VM the project should use')

    # Traits for metadata about projects:
    trait_project_institution = _EntityTraitCode(
        'institution', Constants.Constants.entity_ou,
        'The institution the project belongs to')
    trait_project_rek = _EntityTraitCode('rek_approval',
                                         Constants.Constants.entity_ou,
                                         'The REK approval for the project')

    trait_project_persons_accepted = _EntityTraitCode(
        'accepted_persons', Constants.Constants.entity_ou,
        'FNRs of non-existing persons that has been '
        'accepted as members of the project')

    # Authentication codes (password types):

    trait_otp_device = _EntityTraitCode(
        'otp_device', Constants.Constants.entity_person,
        'The type of OTP key, e.g. hotp or '
        'totp, depending on device')

    auth_type_otp_key = _AuthenticationCode(
        'OTP-key',
        'One-Time Password key, used to be able to generate one-time'
        'passwords')

    # DNS zone
    tsd_zone = _DnsZoneCode("tsd", ".tsd.usit.no.")
    tsdv4_zone = _DnsZoneCode("tsdipv4", None)
    tsdv6_zone = _DnsZoneCode("tsdipv6", None)
Beispiel #9
0
class ConstantsCommon(Constants.Constants):
    """ Constants that every instance should have. """
    """ Common constants for all Norwegian installations. """

    # external id definitions (NO_NIN, norwegian national id number)
    externalid_fodselsnr = _EntityExternalIdCode(
        'NO_BIRTHNO', Constants.Constants.entity_person,
        'Norwegian national ID number')

    @staticmethod
    def make_passport_number(country, passport_number):
        return '{}-{}'.format(country, passport_number)

    # External IDs related to A-melding.
    externalid_pass_number = _EntityExternalIdCode(
        'PASSNR', Constants.Constants.entity_person,
        "A persons passport number")

    externalid_social_security_number = _EntityExternalIdCode(
        'SSN', Constants.Constants.entity_person,
        "A persons social security number")

    externalid_tax_identification_number = _EntityExternalIdCode(
        'TIN', Constants.Constants.entity_person,
        "A persons tax identification number")

    externalid_value_added_tax_number = _EntityExternalIdCode(
        'VAT', Constants.Constants.entity_person,
        "A persons value added tax identification number")

    system_override = _AuthoritativeSystemCode(
        'Override', 'Override information fetched from authoritative systems')

    spread_ou_publishable = _SpreadCode(
        'publishable_ou', Constants.Constants.entity_ou,
        'OUs publishable in online directories')

    quarantine_autopassord = _QuarantineCode(
        'autopassord', 'Passord ikke skiftet trass pålegg')

    quarantine_svakt_passord = _QuarantineCode('svakt_passord',
                                               'For dårlig passord')

    trait_auto_group = _EntityTraitCode(
        'auto_group', Constants.Constants.entity_group,
        "Trait marking automatically administered groups with person members.")

    trait_auto_meta_group = _EntityTraitCode(
        'auto_meta_group', Constants.Constants.entity_group,
        "Trait marking automatically administered groups with group members.")

    trait_personal_dfg = _EntityTraitCode('personal_group',
                                          Constants.Constants.entity_group,
                                          "Group is a personal file group.")

    trait_group_entitlement = _EntityTraitCode(
        'entitlement', Constants.Constants.entity_group,
        "Trait listing entitlement that members of this group have")

    # Traits for the password service (Individuation)
    trait_password_token = _EntityTraitCode(
        "password_token", Constants.Constants.entity_account,
        "Store a one time password for an account")

    trait_browser_token = _EntityTraitCode(
        "browser_token", Constants.Constants.entity_account,
        "Store a browser token for an account")

    trait_password_failed_attempts = _EntityTraitCode(
        "passw_attempts", Constants.Constants.entity_account,
        "Number of times an account has tried to use sms password service")

    # Trait for reservation from the new password service
    # TODO: should be replaced by a reservation table later
    trait_reservation_sms_password = _EntityTraitCode(
        'reserve_passw', Constants.Constants.entity_account,
        "Reserving account from using the forgotten password service (SMS)")

    # Trait for reservation from being published at the web
    # TODO: should be replaced by a reservation table later
    trait_public_reservation = _EntityTraitCode(
        'reserve_public', Constants.Constants.entity_person,
        "Reserved from being published at the web pages")

    # Trait for storing if a user has gotten a welcome SMS.
    trait_sms_welcome = _EntityTraitCode(
        'sms_welcome', Constants.Constants.entity_account,
        "If a user has retrieved a welcome message by SMS")

    # Trait for showing that a user account is either newly created or restored.
    # Used to e.g. send welcome message by SMS. This trait is for all accounts,
    # the trait_student_new should be used for only targeting student accounts.
    trait_account_new = _EntityTraitCode(
        'new_account', Constants.Constants.entity_account,
        "The account is newly created or restored")

    # Trait for showing that a student account is either newly created or
    # restored. Used to send welcome message by SMS.
    trait_student_new = _EntityTraitCode(
        'new_student', Constants.Constants.entity_account,
        "If the student account is newly created or restored")

    # Traits for SAP medarbeidergrupper
    trait_sap_mg = _EntityTraitCode('sap_mg',
                                    Constants.Constants.entity_account,
                                    "MG from SAP - medarbeidergruppe")
    trait_sap_mug = _EntityTraitCode('sap_mug',
                                     Constants.Constants.entity_account,
                                     "MUG from SAP - medarbeiderundergruppe")

    # Quarantine to be set automatically when cleaning up in persons that are no
    # longer affiliated with the instance
    quarantine_auto_no_aff = _QuarantineCode(
        'auto_no_aff', 'Ikke tilknyttet person, utestengt')
Beispiel #10
0
class Constants(CereConst.Constants):

    # Affiliations for students
    affiliation_student = ConstantsHigherEdu.affiliation_student
    affiliation_status_student_tilbud = _PersonAffStatusCode(
        affiliation_student,
        'tilbud',
        'Student, tilbud')
    affiliation_status_student_privatist = _PersonAffStatusCode(
        affiliation_student,
        'privatist',
        'Student, privatist')

    # Affiliations for associated people
    affiliation_status_tilknyttet_timelonnet = _PersonAffStatusCode(
        ConstantsUniversityColleges.affiliation_tilknyttet,
        'timelonnet',
        'Personer registrert i SAP som timelønnet')

    # Affiliations for others
    affiliation_manuell = _PersonAffiliationCode(
        'MANUELL',
        'Tilknyttet HiOf uten å være registrert i et av de'
        ' autoritative kildesystemene')
    affiliation_status_manuell_ekstern = _PersonAffStatusCode(
        affiliation_manuell,
        'ekstern',
        'Eksternt tilknyttet person, når spesifikke kategorier ikke passer')
    affiliation_status_manuell_pensjonist = _PersonAffStatusCode(
        affiliation_manuell,
        'pensjonist',
        'Pensjonist ved HiOf, ikke registrert i SAP')
    affiliation_status_manuell_gjest = _PersonAffStatusCode(
        affiliation_manuell,
        'gjest',
        'Gjesteopphold ved HiOf')

    # Posix-shell definitions
    #
    # We override the default Cerebrum paths for shells, thus this
    # file should appear before PosixUser in cereconf.CLASS_CONSTANTS
    posix_shell_bash = _PosixShellCode('bash', '/bin/bash')
    posix_shell_tcsh = _PosixShellCode('tcsh', '/bin/tcsh')
    posix_shell_csh = _PosixShellCode('csh', '/bin/csh')
    posix_shell_sh = _PosixShellCode('sh', '/bin/sh')

    # Spread definitions - user related
    spread_nis_account = _SpreadCode(
        'account@nis',
        ConstantsUniversityColleges.entity_account,
        'Account in NIS')
    spread_email_account = _SpreadCode(
        'account@imap',
        CereConst.Constants.entity_account,
        'Email account at HiOf')
    spread_ad_account = _SpreadCode(
        'account@ad',
        CereConst.Constants.entity_account,
        'Account included in domain in Active Directory')
    spread_ad_account_fag = _SpreadCode(
        'account@ad_fag',
        CereConst.Constants.entity_account,
        'Account included in domain F*G in Active Directory')
    spread_ad_account_adm = _SpreadCode(
        'account@ad_adm',
        CereConst.Constants.entity_account,
        'Account included in domain ADM in Active Directory')
    spread_ad_account_stud = _SpreadCode(
        'account@ad_stud',
        CereConst.Constants.entity_account,
        'Account included in domain STUD in Active Directory')

    # Spread definitions - group related
    spread_nis_fg = _SpreadCode(
        'fgroup@nis',
        ConstantsUniversityColleges.entity_group,
        'File group in NIS')
    spread_nis_ng = _SpreadCode(
        'netgroup@nis',
        ConstantsUniversityColleges.entity_group,
        'Net group in NIS')
    spread_ad_group = _SpreadCode(
        'group@ad', CereConst.Constants.entity_group,
        'Group included in domain in Active Directory')

    # Traits
    trait_ad_homedir = _EntityTraitCode(
        'ad_homedir',
        CereConst.Constants.entity_account,
        "AD homedir for account")
    trait_ad_profile_path = _EntityTraitCode(
        'ad_profile_path',
        CereConst.Constants.entity_account,
        "AD profile path for account")
    trait_ad_account_ou = _EntityTraitCode(
        'ad_account_ou',
        CereConst.Constants.entity_account,
        "AD OU for account")

    trait_phone_exchange = _EntityTraitCode(
        'phone_exchange',
        CereConst.Constants.entity_account,
        "ID of telephone exchange, PBX")

    trait_cf_group = _EntityTraitCode(
        'cf_group',
        CereConst.Constants.entity_group,
        'Trait for tagging Fronter groups')

    # BofhdRequests constants
    bofh_ad_attrs_remove = _BofhdRequestOpCode(
        "br_ad_attr_rem",
        "Remove AD attributes for a user")
Beispiel #11
0
class Constants(Constants.Constants):
    system_fs_derived = _AuthoritativeSystemCode('FS-auto',
                                                 'Utledet av FS data')
    system_pbx = _AuthoritativeSystemCode('PBX', 'PBX')

    # AFFILIATIONS FOR ANSATTE
    affiliation_ansatt = ConstantsHigherEdu.affiliation_ansatt
    affiliation_status_ansatt_manuell = _PersonAffStatusCode(
        affiliation_ansatt, 'ans_manuell', 'Ansatt, manuell import')
    affiliation_status_ansatt_primaer = _PersonAffStatusCode(
        affiliation_ansatt, 'primaer', 'Primærtilknytning for SAP ansatte')

    # AFFILIATIONS FOR STUDENTER
    affiliation_student = ConstantsHigherEdu.affiliation_student
    affiliation_status_student_manuell = _PersonAffStatusCode(
        affiliation_student, 'stud_manuell', 'Student, manuell import')
    affiliation_status_student_tilbud = _PersonAffStatusCode(
        affiliation_student, 'tilbud', 'Student, tilbud')

    # AFFILIATIONS FOR ASSOSIERTE PERSONER
    affiliation_tilknyttet = ConstantsUniversityColleges.affiliation_tilknyttet
    affiliation_status_tilknyttet_feide = _PersonAffStatusCode(
        affiliation_tilknyttet, 'feide',
        'Personer uten reg. i kildesystem som må ha tilgang til '
        'FEIDE-baserte tjenester')

    affiliation_status_tilknyttet_ekstern = _PersonAffStatusCode(
        affiliation_tilknyttet, 'ekstern', 'Registrert i HR, ekstern tilsatt')

    # AFFILIATIONS FOR ANDRE
    affiliation_manuell = _PersonAffiliationCode(
        'MANUELL', ('Tilknyttet UiA uten å være registrert i et av de'
                    ' autoritative kildesystemene'))
    affiliation_status_manuell_ekstern = _PersonAffStatusCode(
        affiliation_manuell, 'ekstern',
        'Eksternt tilknyttet person, når spesifikke kategorier ikke passer')
    affiliation_status_manuell_sia = _PersonAffStatusCode(
        affiliation_manuell, 'sia',
        'Person tilknyttet Studentsamskipnaden i Agder')
    affiliation_status_manuell_sta = _PersonAffStatusCode(
        affiliation_manuell, 'sta',
        'Person tilknyttet Studentorganisasjonen Agder')
    affiliation_status_manuell_filonova = _PersonAffStatusCode(
        affiliation_manuell, 'filonova',
        'Person tilknyttet Filonova kursstiftelse')
    affiliation_status_manuell_agderforskning = _PersonAffStatusCode(
        affiliation_manuell, 'agderforskning',
        'Person tilknyttet Agderforskning')
    affiliation_status_manuell_statsbygg = _PersonAffStatusCode(
        affiliation_manuell, 'statsbygg',
        'Person tilknyttet Statsbygg ved UiA')
    affiliation_status_manuell_pensjonist = _PersonAffStatusCode(
        affiliation_manuell, 'pensjonist',
        'Pensjonist ved UiA, ikke registrert i SAP')
    affiliation_status_manuell_gjest = _PersonAffStatusCode(
        affiliation_manuell, 'gjest', 'Gjesteopphold ved UiA')
    affiliation_status_manuell_ans_uten_sap = _PersonAffStatusCode(
        affiliation_manuell, 'ans_uten_sap',
        'Ansatt som ikke er lagt inn i SAP. En midlertidig status for folk')
    affiliation_status_manuell_gjest_ikke_epost = _PersonAffStatusCode(
        affiliation_manuell, 'gjest_no_epost',
        'Gjesteopphold som ansatt ved UiA. Skal ikke ha epost')
    affiliation_status_manuell_gjest_student = _PersonAffStatusCode(
        affiliation_manuell, 'gjest_student',
        'Gjesteopphold for student ved UiA. Epost skal tildeles')
    affiliation_status_manuell_gjest_student_ikke_epost = _PersonAffStatusCode(
        affiliation_manuell, 'gj_st_no_epost',
        'Gjesteopphold for student ved UiA. Epost skal ikke tildeles')

    affiliation_upersonlig = _PersonAffiliationCode(
        'UPERSONLIG', 'Fellesbrukere, samt andre brukere uten eier')
    affiliation_upersonlig_felles = _PersonAffStatusCode(
        affiliation_upersonlig, 'felles', 'Felleskonti')
    affiliation_upersonlig_kurs = _PersonAffStatusCode(affiliation_upersonlig,
                                                       'kurs', 'Kurskonti')
    affiliation_upersonlig_pvare = _PersonAffStatusCode(
        affiliation_upersonlig, 'pvare', 'Programvarekonti')
    affiliation_upersonlig_studentforening = _PersonAffStatusCode(
        affiliation_upersonlig, 'studorg',
        'Studentforening eller -aktivitet ved UiA')

    # DEFINISJON AV SHELL
    # We override the default Cerebrum paths for shells, thus this
    # file should appear before PosixUser in cereconf.CLASS_CONSTANTS
    posix_shell_bash = _PosixShellCode('bash', '/bin/bash')
    posix_shell_tcsh = _PosixShellCode('tcsh', '/bin/tcsh')
    posix_shell_csh = _PosixShellCode('csh', '/bin/csh')
    posix_shell_sh = _PosixShellCode('sh', '/bin/sh')

    spread_nis_user = _SpreadCode('account@nis',
                                  Constants.Constants.entity_account,
                                  'User in NIS domain "stud"')
    spread_nis_fg = _SpreadCode('group@nis', Constants.Constants.entity_group,
                                'File group in NIS domain "stud"')
    spread_nis_ng = _SpreadCode('netgroup@nis',
                                Constants.Constants.entity_group,
                                'Net group in NIS domain "stud"')
    spread_hia_adgang = _SpreadCode('account@adgang',
                                    Constants.Constants.entity_person,
                                    'Person exported to Adgang system')
    spread_hia_email = _SpreadCode('account@imap',
                                   Constants.Constants.entity_account,
                                   'Email user at UiA')
    spread_hia_bibsys = _SpreadCode('account@bibsys',
                                    Constants.Constants.entity_person,
                                    'Person exported to BIBSYS')
    spread_hia_tele = _SpreadCode('account@telefon',
                                  Constants.Constants.entity_person,
                                  'Person exported to phone system')
    spread_hia_ldap_ou = _SpreadCode('ou@ldap', Constants.Constants.entity_ou,
                                     'OU included in LDAP directory')
    spread_hia_helpdesk = _SpreadCode('account@helpdesk',
                                      Constants.Constants.entity_account,
                                      'Account exported to helpdesk system')
    spread_hia_ad_account = _SpreadCode(
        'account@ad', Constants.Constants.entity_account,
        'Account included in Active Directory')
    spread_exchange_acc_old = _SpreadCode('account@exch_old',
                                          Constants.Constants.entity_account,
                                          'Account in old Exchange env')
    spread_exchange_account = _SpreadCode('account@exchange',
                                          Constants.Constants.entity_account,
                                          'Account in Exchange')
    spread_hia_ad_group = _SpreadCode('group@ad',
                                      Constants.Constants.entity_group,
                                      'group included in Active Directory')
    spread_exchange_group = _SpreadCode('group@exchange',
                                        Constants.Constants.entity_group,
                                        'Group exported to Exchange')
    spread_hia_ezpublish = _SpreadCode('group@ezpublish',
                                       Constants.Constants.entity_group,
                                       'Groups used by EZPublish')
    spread_hia_fronter = _SpreadCode(
        'group@fronter', Constants.Constants.entity_group,
        ('Group representing a course that should be exported to'
         ' the ClassFronter.  Should only be given to groups that'
         ' have been automatically generated from FS.'))
    spread_radius_user = _SpreadCode('account@radius',
                                     Constants.Constants.entity_account,
                                     'User in Radius domain "stud"')
    spread_ans_radius_user = _SpreadCode('account@radiusan',
                                         Constants.Constants.entity_account,
                                         'User in Radius domain "ans"')
    spread_it_radius_user = _SpreadCode('account@radiusit',
                                        Constants.Constants.entity_account,
                                        'User in Radius domain "it"')
    spread_sia_radius_user = _SpreadCode('account@radiusia',
                                         Constants.Constants.entity_account,
                                         'User in Radius domain "sia"')
    spread_radius_guest = _SpreadCode('guest@radius',
                                      Constants.Constants.entity_account,
                                      'Guest in Radius domain "stud"')
    spread_radius_guestcair = _SpreadCode('guestcair@radius',
                                          Constants.Constants.entity_account,
                                          'Guest in Radius domain "cair"')

    spread_uia_ad_account_ehelse_nhn = _SpreadCode(
        'acc@ehelse-nhn', Constants.Constants.entity_account,
        'Account included in AD: eHelse NHN')
    spread_uia_ad_group_ehelse_nhn = _SpreadCode(
        'group@ehelse-nhn', Constants.Constants.entity_group,
        'Group included in AD: eHelse NHN')
    spread_uia_office_365 = _SpreadCode('acc@office365',
                                        Constants.Constants.entity_account,
                                        'Account included in Office365')
    spread_uia_forward = _SpreadCode(
        'acc@forward', Constants.Constants.entity_account,
        'Account contains only email forward and not a mailbox')

    # Definisjon av traits
    trait_accept_nondisc = _EntityTraitCode(
        'acc_non_disc', Constants.Constants.entity_person,
        "Trait marking a person who has accepted a non-disclosure agreement "
        "with UiA.")
    trait_reject_nondisc = _EntityTraitCode(
        'rej_non_disc', Constants.Constants.entity_person,
        "Trait marking a person who has rejected a non-disclosure agreement "
        "with UiA.")
    trait_accept_rules = _EntityTraitCode(
        'accept_rules', Constants.Constants.entity_person,
        "Trait marking a person who has accepted terms and rule for use of "
        "IT services at UiA.")

    # KARANTENEGRUPPER
    quarantine_permisjon = _QuarantineCode('permisjon',
                                           'Brukeren har permisjon')
    quarantine_autoekstern = _QuarantineCode('autoekstern',
                                             'Ekstern konto gått ut på dato')

    email_spam_level_none = _EmailSpamLevelCode(
        'no_filter', 9999, "No email will be filtered as spam")
    email_spam_level_standard = _EmailSpamLevelCode(
        'standard_spam', 8, "Only filter email that obviously is spam")
    email_spam_level_heightened = _EmailSpamLevelCode(
        'most_spam', 5, "Filter most emails that look like spam")
    email_spam_level_aggressive = _EmailSpamLevelCode(
        'aggressive_spam', 3, "Filter everything that resembles spam")
    email_spam_action_none = _EmailSpamActionCode(
        'noaction', "Deliver spam just like legitimate email")
    email_spam_action_folder = _EmailSpamActionCode(
        'spamfolder', "Deliver spam to a separate IMAP folder")
    email_spam_action_delete = _EmailSpamActionCode(
        'dropspam', "Reject messages classified as spam")
Beispiel #12
0
class Constants(Constants.Constants):

    #
    # External Identifiers
    #

    externalid_sys_x_id = _EntityExternalIdCode(
        'SYS_X_ID', Constants.Constants.entity_person,
        'Internal sys_x identifier')

    externalid_paga_ansattnr = _EntityExternalIdCode(
        'PAGA_ANSATTNR', Constants.Constants.entity_person,
        'Internal PAGA identifier')

    externalid_hifm_ansattnr = _EntityExternalIdCode(
        'HIFM_ANSATTNR', Constants.Constants.entity_person,
        'Internal HIFM identifier')

    externalid_sito_ansattnr = _EntityExternalIdCode(
        'SITO_ANSATTNR', Constants.Constants.entity_person,
        'Internal SITO identifier')

    externalid_sito_ou = _EntityExternalIdCode('SITO_OU',
                                               Constants.Constants.entity_ou,
                                               'internal sito ou identifier')

    #
    # Authoritative systems
    #

    system_hifm = _AuthoritativeSystemCode('HIFM', 'Høgskolen i Alta')

    system_hitos = _AuthoritativeSystemCode('HITOS', 'Høgskolen i Tromsø')

    system_x = _AuthoritativeSystemCode('SYS_X', 'Manuelt personal system')

    system_tlf = _AuthoritativeSystemCode('TLF', 'Telefoni system')

    system_sysacc = _AuthoritativeSystemCode('SYSACC', 'System Accounts')

    system_paga = _AuthoritativeSystemCode('PAGA', 'PAGA')

    system_sito = _AuthoritativeSystemCode('SITO', 'SITO')

    system_flyt = _AuthoritativeSystemCode('FLYT', 'FLYT')

    system_fs_derived = _AuthoritativeSystemCode('FS-auto',
                                                 'Utledet av FS data')

    system_kr_reg = _AuthoritativeSystemCode(
        'KR_REG', 'Kontakt- og reservasjonsregisteret')

    system_intern_ice = _AuthoritativeSystemCode(
        'INTERN_ICE', 'Internal (uit) source for ICE number')

    #
    # Account codes
    #

    account_test = _AccountCode('T', 'Testkonto')
    account_felles_drift = _AccountCode('FD', 'Felles Drift')
    account_felles_intern = _AccountCode('FI', 'Felles Intern')
    account_kurs = _AccountCode('K', 'Kurs')
    account_forening = _AccountCode('F', 'Forening')
    account_maskin = _AccountCode('M', 'Maskin')
    account_prosess = _AccountCode('P', 'Prosess')
    account_uit_guest = _AccountCode('gjestebruker_uit', 'Manuell gjestekonto')

    #
    # Contact codes
    #

    contact_workphone2 = _ContactInfoCode('PHONE_WORK_2',
                                          'Secondary Work Phone')
    contact_room = _ContactInfoCode('ROOM@UIT', 'Location and room number')
    contact_building = _ContactInfoCode('BYGG@UIT', 'Building name')
    contact_sito_mobile = _ContactInfoCode('PHONE_SITO', 'sito employee phone')
    contact_uit_mobile = _ContactInfoCode('PHONE_UIT', 'uit employee phone')
    contact_ice_phone = _ContactInfoCode('ICE_PHONE',
                                         'Phone number for alerts (varsler)')

    #
    # Address codes
    #

    address_location = _AddressCode('Lokasjon', 'Campus')

    #
    # OU Structure perspective
    #

    perspective_sito = _OUPerspectiveCode('SITO', 'SITO')

    #
    # Affiliations
    #

    # Employee affiliations
    affiliation_ansatt_sito = _PersonAffiliationCode(
        'SITO', 'Ansatt ved studentsamskipnaden i tromso')

    affiliation_ansatt = _PersonAffiliationCode('ANSATT',
                                                'Ansatt ved UiT (i følge LT)')

    affiliation_flyt_ansatt_hih = _PersonAffiliationCode(
        'ANSATT_HIH', 'Ansatt ved HiH')

    affiliation_flyt_student_hih = _PersonAffiliationCode(
        'STUDENT_HIH', 'Student ved HiH')

    # Affiliation status
    affiliation_status_flyt_hih_ansatt_faculty = _PersonAffStatusCode(
        affiliation_ansatt, 'Ansatt HiH', 'Vitenskapelig')

    affiliation_status_flyt_hih_ansatt_tekadm = _PersonAffStatusCode(
        affiliation_ansatt, 'ansatt HiH', 'Teknisk/administrativt')

    affiliation_status_flyt_hin_ansatt_faculty = _PersonAffStatusCode(
        affiliation_ansatt, 'Ansatt HiN', 'Vitenskapelig')

    affiliation_status_flyt_hin_ansatt_tekadm = _PersonAffStatusCode(
        affiliation_ansatt, 'ansatt HiN', 'Teknisk/administrativt')

    affiliation_status_timelonnet_fast = _PersonAffStatusCode(
        affiliation_ansatt, 'Timelonnet fast', 'Fast ansatt på timelønn')

    affiliation_status_timelonnet_midlertidig = _PersonAffStatusCode(
        affiliation_ansatt, 'Timelonnet midl',
        'Midlertidig ansatt på timelønn')

    affiliation_status_ansatt_perm = _PersonAffStatusCode(
        affiliation_ansatt, 'permisjon', 'Ansatt, for tiden i permisjon')

    affiliation_status_flyt_ansatt_hifm = _PersonAffStatusCode(
        affiliation_ansatt, 'ansatt HIFm', 'Ansatte fra Høyskolen i Alta')

    affiliation_status_ansatt_sito = _PersonAffStatusCode(
        affiliation_ansatt_sito, 'sito', 'Ansatt')

    affiliation_status_ansatt_sys_x = _PersonAffStatusCode(
        affiliation_ansatt, 'sys_x-ansatt',
        'Manuelt gitt tilgang til AD (bør nyanseres)')

    # Student affiliations
    affiliation_student = _PersonAffiliationCode(
        'STUDENT', 'Student ved UiT (i følge FS)')

    affiliation_status_flyt_hih_student_aktiv = _PersonAffStatusCode(
        affiliation_student, 'student HiH', 'Aktiv student')

    affiliation_status_flyt_student_hifm = _PersonAffStatusCode(
        affiliation_student, 'student HIFm', 'Student fra Høyskolen i Alta')

    affiliation_status_flyt_hin_student_aktiv = _PersonAffStatusCode(
        affiliation_student, 'student HiN', 'Aktiv student')

    affiliation_status_student_soker = _PersonAffStatusCode(
        affiliation_student, 'soker', 'Registrert med søknad i FS')

    affiliation_status_student_sys_x = _PersonAffStatusCode(
        affiliation_student, 'sys_x-student',
        'Student Manuelt gitt tilgang til AD')

    affiliation_status_student_tilbud = _PersonAffStatusCode(
        affiliation_student, 'tilbud', 'Har fått tilbud om opptak')

    affiliation_status_student_opptak = _PersonAffStatusCode(
        affiliation_student, 'opptak', 'Har studierett ved studieprogram')

    affiliation_status_student_ny = Constants._PersonAffStatusCode(
        affiliation_student, 'ny', 'Registrert med ny, gyldig studierett i FS')

    affiliation_status_student_perm = _PersonAffStatusCode(
        affiliation_student, 'permisjon', 'Har gyldig permisjonstatus i FS')

    affiliation_status_student_alumni = _PersonAffStatusCode(
        affiliation_student, 'alumni', 'Har fullført studieprogram i FS')

    affiliation_status_student_drgrad = _PersonAffStatusCode(
        affiliation_student, 'drgrad', 'Registrert student på doktorgrad')

    affiliation_status_student_emnestud = _PersonAffStatusCode(
        affiliation_student, 'emnestud',
        'Registrert som aktiv emnestudent i FS')

    # Tilknyttet affiliation
    affiliation_tilknyttet = _PersonAffiliationCode(
        'TILKNYTTET', 'Tilknyttet UiT uten å være student eller ansatt')

    affiliation_tilknyttet_fagperson = _PersonAffStatusCode(
        affiliation_tilknyttet, 'fagperson', 'Registrert som fagperson i FS')

    affiliation_tilknyttet_emeritus = _PersonAffStatusCode(
        affiliation_tilknyttet, 'emeritus',
        'Registrert i LT med gjestetypekode EMERITUS')

    affiliation_tilknyttet_ekst_stip = _PersonAffStatusCode(
        affiliation_tilknyttet, 'ekst_stip',
        'Personer registrert i LT med gjestetypekode=EF-STIP')

    # Manual affiliation
    affiliation_manuell = _PersonAffiliationCode(
        'MANUELL', 'Tilknyttet enheter/instutusjoner som UiT har avtale med')

    affiliation_manuell_alumni = _PersonAffStatusCode(
        affiliation_manuell, 'alumni', 'Uteksaminerte studenter')

    affiliation_manuell_sito = _PersonAffStatusCode(
        affiliation_manuell, 'sito', 'Manuelt registrert Sito ansatt')

    affiliation_manuell_gjest_u_konto = _PersonAffStatusCode(
        affiliation_manuell, 'gjest_u_konto', 'gjest uten konto')

    affiliation_manuell_unn = _PersonAffStatusCode(
        affiliation_manuell, 'UNN', 'Universitets sykheuset i Nord Norge')

    affiliation_manuell_gjest = _PersonAffStatusCode(affiliation_manuell,
                                                     'gjest', 'Gjest')

    affiliation_manuell_utdanning_no = _PersonAffStatusCode(
        affiliation_manuell, 'utdanning_no', 'Utdanning.no')

    affiliation_manuell_akademisk_kvarter = _PersonAffStatusCode(
        affiliation_manuell, 'akademisk_kvart', 'Akademisk Kvarter')

    affiliation_manuell_norges_universitetet = _PersonAffStatusCode(
        affiliation_manuell, 'norges_universi', 'Norgesuniversitetet')

    affiliation_manuell_kirkutdnor = _PersonAffStatusCode(
        affiliation_manuell, 'kirkutdnor',
        'Kirkelig Utdanningssenter Nord-Norge')

    affiliation_manuell_gjesteforsker = _PersonAffStatusCode(
        affiliation_manuell, 'gjesteforsker', 'Gjesteforsker (under utfasing)')

    affiliation_manuell_konsulent = _PersonAffStatusCode(
        affiliation_manuell, 'konsulent', 'Konsulent (under utfasing)')

    affiliation_status_gjest_u_account = _PersonAffStatusCode(
        affiliation_manuell, 'gjest_u_konto', 'Gjest uten konto')

    # Non-personal affiliation
    affiliation_upersonlig = _PersonAffiliationCode(
        'UPERSONLIG', 'Fellesbrukere, samt andre brukere uten eier')

    affiliation_upersonlig_felles = _PersonAffStatusCode(
        affiliation_upersonlig, 'felles', 'Felleskonti')

    affiliation_upersonlig_kurs = _PersonAffStatusCode(affiliation_upersonlig,
                                                       'kurs', 'Kurskonti')

    affiliation_upersonlig_pvare = _PersonAffStatusCode(
        affiliation_upersonlig, 'pvare', 'Programvarekonti')

    affiliation_upersonlig_term_maskin = _PersonAffStatusCode(
        affiliation_upersonlig, 'term_maskin', 'Terminalstuemaskin')

    affiliation_upersonlig_bib_felles = _PersonAffStatusCode(
        affiliation_upersonlig, 'bib_felles', 'Bibliotek felles')

    #
    # Shells
    #
    # Override of the default shell paths.
    # NOTE: this file should be before PosixUser in cereconf.CLASS_CONSTANTS
    # TODO: Shell path mapping should be configuration, not db-constants.
    #

    posix_shell_bash = _PosixShellCode('bash', '/bin/bash')

    posix_shell_csh = _PosixShellCode('csh', '/bin/csh')

    posix_shell_false = _PosixShellCode('false', '/bin/false')

    posix_shell_nologin = _PosixShellCode('nologin', '/local/etc/nologin')

    posix_shell_sh = _PosixShellCode('sh', '/bin/sh')

    posix_shell_zsh = _PosixShellCode('zsh', '/local/bin/zsh')

    #
    # Spreads
    #

    spread_uit_fronter = _SpreadCode('fronter@uit',
                                     Constants.Constants.entity_group,
                                     'fronter user')

    spread_uit_fronter_account = _SpreadCode(
        'fronter_acc@uit', Constants.Constants.entity_account,
        'fronter account')

    spread_uit_evu = _SpreadCode('evu@uit', Constants.Constants.entity_account,
                                 'evu person')

    spread_uit_cristin = _SpreadCode('cristin@uit',
                                     Constants.Constants.entity_account,
                                     'Accounts with CRISTIN spread')

    # spread for ldap guests
    spread_uit_ldap_guest = _SpreadCode(
        'guest@ldap', Constants.Constants.entity_account,
        'LDAP/RADIUS spread for wireless accounts')

    # spread for ldap system accounts
    spread_uit_ldap_system = _SpreadCode(
        'system@ldap', Constants.Constants.entity_account,
        'account included in system tree on ldap')

    # spread for ldap people accounts
    spread_uit_ldap_people = _SpreadCode(
        'people@ldap', Constants.Constants.entity_account,
        'account included in people tree on ldap')

    # spread for securimaster export
    spread_uit_securimaster = _SpreadCode(
        'securimaster', Constants.Constants.entity_account,
        'account to be exported to securimaster')

    # spread for portal export
    spread_uit_portal = _SpreadCode('portal export',
                                    Constants.Constants.entity_account,
                                    'account to be exported to the portal')

    # spread for paga export - account uit should be exported to paga
    spread_uit_paga = _SpreadCode('paga export',
                                  Constants.Constants.entity_account,
                                  'account to have its uid exported to paga')

    # spread for fs export - account should have email and uid exported to FS
    spread_uit_fs = _SpreadCode(
        'fs export', Constants.Constants.entity_account,
        'account to have its uid and email exported to fs')

    spread_uit_ad_account = _SpreadCode(
        'AD_account', Constants.Constants.entity_account,
        'account included in Active Directory')

    spread_uit_ad_group = _SpreadCode('AD_group',
                                      Constants.Constants.entity_group,
                                      'group included in Active Directory')

    spread_uit_ad_lit_admingroup = _SpreadCode(
        'AD_group_litadmn', Constants.Constants.entity_group,
        'AD admingroup for local IT')

    # Spreads for Exchange
    spread_uit_exchange = _SpreadCode('exchange_mailbox',
                                      Constants.Constants.entity_account,
                                      'Accounts with exchange mailbox')

    # sito spread
    spread_sito = _SpreadCode('SITO', Constants.Constants.entity_account,
                              'Accounts generated for sito users')

    spread_fronter_dotcom = _SpreadCode(
        '*****@*****.**', Constants.Constants.entity_group,
        'Group representing a course that should be exported to the '
        'ClassFronter instance on fronter.com. Should only be given to '
        'groups that have been automatically generated from FS.')

    spread_ephorte_person = _SpreadCode('ePhorte_person',
                                        Constants.Constants.entity_person,
                                        'Person included in ePhorte export')

    #
    # Email
    #

    email_server_type_exchange_imap = _EmailServerTypeCode(
        'exchange_imap', "Server is an Exchange server")

    #
    # Quarantines
    #

    quarantine_ou_notvalid = _QuarantineCode(
        'ou_notvalid', 'OU not valid from external source')

    quarantine_auto_emailonly = _QuarantineCode(
        'auto_kunepost', 'Ikke ordin<E6>r student, tilgang til bare e-post')

    quarantine_auto_inaktiv = _QuarantineCode('auto_inaktiv',
                                              'Ikke aktiv student, utestengt')

    quarantine_tilbud = _QuarantineCode(
        'Tilbud', "Pre-generert konto til studenter som har fått studietilbud,"
        "men som ikke har aktivert kontoen.")

    quarantine_sys_x_approved = _QuarantineCode(
        'sys-x_approved', 'Konto fra system-x som ikke er godkjent')

    quarantine_generell = _QuarantineCode('generell', 'Generell splatt')

    quarantine_system = _QuarantineCode(
        'system', 'Systembrukar som ikke skal logge inn')

    quarantine_permisjon = _QuarantineCode('permisjon',
                                           'Brukeren har permisjon')

    quarantine_svakt_passord = _QuarantineCode('svakt_passord',
                                               'For dårlig passord')

    quarantine_autopassord = _QuarantineCode(
        'autopassord', 'Passord ikke skiftet trass pålegg')

    quarantine_sut_disk_usage = _QuarantineCode('sut_disk',
                                                "Bruker for mye disk på sut")

    #
    # Auth codes
    #

    auth_type_md5_crypt_hex = _AuthenticationCode(
        'MD5-crypt2', "MD5-derived 32 bit password non unix style, no salt")

    auth_type_md5_b64 = _AuthenticationCode(
        'MD5-crypt_base64', "MD5-derived 32 bit password base 64 encoded")

    #
    # Traits
    #

    trait_sito_registrar_notified = _EntityTraitCode(
        'sito_req_mailed', Constants.Constants.entity_account,
        "Trait set on account when sito processing is done")

    trait_sito_user_notified = _EntityTraitCode(
        'sito_user_mailed', Constants.Constants.entity_account,
        "Trait set on account after account created mail is sent to user")

    trait_sysx_registrar_notified = _EntityTraitCode(
        'sysx_reg_mailed', Constants.Constants.entity_account,
        "Trait set on account when systemx processing is done")

    trait_sysx_user_notified = _EntityTraitCode(
        'sysx_user_mailed', Constants.Constants.entity_account,
        "Trait set on account after account created mail is sent to user")

    trait_primary_aff = _EntityTraitCode(
        "primary_aff", Constants.Constants.entity_person,
        "A person's chosen primary affiliation,"
        " for use at the web presentations")

    trait_sysx_registrar_notified = _EntityTraitCode(
        'sysx_reg_mailed', Constants.Constants.entity_account,
        "Trait set on account when systemx processing is done")

    trait_sysx_user_notified = _EntityTraitCode(
        'sysx_user_mailed', Constants.Constants.entity_account,
        "Trait set on account after account created mail is sent to user")

    trait_nsd_unit_code = _EntityTraitCode(
        'nsd_unit_code', Constants.Constants.entity_ou,
        'NSD unit code (Avdelingskode) to use for this OU')
Beispiel #13
0
class Constants(Constants.Constants):
    """``DnsConstants.Constants(Constants.Constants)`` defines
    constants used by the dns module"""
    entity_dns_cname = Constants._EntityTypeCode(
        'cname', 'cname - see table "cerebrum.cname_info" and friends.')
    entity_dns_host = Constants._EntityTypeCode(  # name-clash with existing entity_type
        'dns_host',
        'dns_host - see table "cerebrum.dns_host_info" and friends.')
    entity_dns_a_record = Constants._EntityTypeCode(
        'a_record',
        'a_record - see table "cerebrum.a_record_info" and friends.')
    entity_dns_aaaa_record = Constants._EntityTypeCode(
        'aaaa_record',
        'aaaa_record - see table "cerebrum.aaaa_record_info" and friends.')
    entity_dns_owner = Constants._EntityTypeCode(
        'dns_owner', 'dns_owner - see table "cerebrum.dns_owner" and friends.')
    entity_dns_ip_number = Constants._EntityTypeCode(
        'dns_ip_number',
        'dns_ip_number - see table "cerebrum.dns_ip_number" and friends.')
    entity_dns_ipv6_number = Constants._EntityTypeCode(
        'dns_ipv6_number',
        'dns_ipv6_number - see table "cerebrum.dns_ipv6_number" and friends.')
    entity_dns_subnet = Constants._EntityTypeCode(
        'dns_subnet',
        'dns_subnet - see table "cerebrum.dns_subnet" and friends.')
    entity_dns_ipv6_subnet = Constants._EntityTypeCode(
        'dns_ipv6_subnet',
        'dns_ipv6_subnet - see table "cerebrum.dns_ipv6_subnet" and friends.')
    dns_owner_namespace = Constants._ValueDomainCode('dns_owner_ns',
                                                     'Domain for dns_owners')

    spread_uio_machine_netgroup = Constants._SpreadCode(
        'NIS_mng@uio', Constants.Constants.entity_group,
        'Machine netgroup in NIS domain "uio"')

    field_type_txt = _FieldTypeCode('TXT', 'TXT Record')

    trait_dns_contact = _EntityTraitCode(
        'dns_contact', entity_dns_owner,
        """Contact information (e-mail address) for the host.""")
    trait_dns_comment = _EntityTraitCode(
        'dns_comment', entity_dns_owner,
        """A freeform comment about the host.""")

    # TODO: The uio constants should be in a uio specific constants module
    uio_zone = _DnsZoneCode("uio", ".uio.no.")
    trofast_zone = _DnsZoneCode("trofast_uio", ".trofast.uio.no.")
    other_zone = _DnsZoneCode("other", None)

    # ChangeLog constants
    a_record_add = _ChangeTypeCode('host', 'a_rec_add',
                                   'add a-record %(subject)s -> %(dest)s')
    a_record_del = _ChangeTypeCode('host', 'a_rec_del',
                                   'del a-record %(subject)s -> %(dest)s')
    a_record_update = _ChangeTypeCode(
        'host', 'a_rec_upd', 'update a-record %(subject)s -> %(dest)s')
    aaaa_record_add = _ChangeTypeCode(
        'host', 'aaaa_rec_add', 'add aaaa-record %(subject)s -> %(dest)s')
    aaaa_record_del = _ChangeTypeCode(
        'host', 'aaaa_rec_del', 'del aaaa-record %(subject)s -> %(dest)s')
    aaaa_record_update = _ChangeTypeCode(
        'host', 'aaaa_rec_upd', 'update aaaa-record %(subject)s -> %(dest)s')
    cname_add = _ChangeTypeCode('host', 'cname_add',
                                'add cname %(subject)s -> %(dest)s')
    cname_del = _ChangeTypeCode('host', 'cname_del',
                                'del cname %(subject)s -> %(dest)s')
    cname_update = _ChangeTypeCode('host', 'cname_upd',
                                   'update cname %(subject)s -> %(dest)s')
    dns_owner_add = _ChangeTypeCode('host', 'dns_owner_add',
                                    'add dns-owner %(subject)s')
    dns_owner_update = _ChangeTypeCode('host', 'dns_owner_upd',
                                       'update dns-owner %(subject)s')
    dns_owner_del = _ChangeTypeCode('host', 'dns_owner_del',
                                    'del dns-owner %(subject)s')
    general_dns_record_add = _ChangeTypeCode(
        'host', 'gen_dns_rec_add', 'add record for %(subject)s',
        ('%(int:field_type)s=%(string:data)s', ))
    general_dns_record_del = _ChangeTypeCode('host', 'gen_dns_rec_del',
                                             'del record for %(subject)s',
                                             ('type=%(int:field_type)s', ))
    general_dns_record_update = _ChangeTypeCode(
        'host', 'gen_dns_rec_upd', 'update record for %(subject)s',
        ('%(int:field_type)s=%(string:data)s', ))
    host_info_add = _ChangeTypeCode('host', 'host_info_add', 'add %(subject)s',
                                    ('hinfo=%(string:hinfo)s', ))
    host_info_update = _ChangeTypeCode('host', 'host_info_upd',
                                       'update %(subject)s',
                                       ('hinfo=%(string:hinfo)s', ))
    host_info_del = _ChangeTypeCode('host', 'host_info_del', 'del %(subject)s')
    ip_number_add = _ChangeTypeCode('host', 'ip_number_add', 'add %(subject)s',
                                    ('a_ip=%(string:a_ip)s', ))
    ip_number_update = _ChangeTypeCode('host', 'ip_number_upd',
                                       'update %(subject)s',
                                       ('a_ip=%(string:a_ip)s', ))
    ip_number_del = _ChangeTypeCode('host', 'ip_number_del', 'del %(subject)s')
    ipv6_number_add = _ChangeTypeCode('host', 'ipv6_number_add',
                                      'add %(subject)s',
                                      ('aaaaaaa_ip=%(string:aaaa_ip)s', ))
    ipv6_number_update = _ChangeTypeCode('host', 'ipv6_number_upd',
                                         'update %(subject)s',
                                         ('aaaaaaa_ip=%(string:aaaa_ip)s', ))
    ipv6_number_del = _ChangeTypeCode('host', 'ipv6_number_del',
                                      'del %(subject)s')
    mac_adr_set = _ChangeTypeCode('host', 'mac_adr_set', 'set %(subject)s',
                                  ('mac_adr=%(string:mac_adr)s', ))
    rev_override_add = _ChangeTypeCode(
        'host', 'rev_ovr_add', 'add rev-override %(subject)s -> %(dest)s')
    rev_override_del = _ChangeTypeCode('host', 'rev_ovr_del',
                                       'del rev-override for %(subject)s')
    rev_override_update = _ChangeTypeCode(
        'host', 'rev_ovr_upd', 'update rev-override %(subject)s -> %(dest)s')
    subnet_create = _ChangeTypeCode('subnet', 'subnet_create',
                                    'create subnet %(subject)s')
    subnet_mod = _ChangeTypeCode('subnet', 'subnet_mod',
                                 'modify subnet %(subject)s')
    subnet_delete = _ChangeTypeCode('subnet', 'subnet_delete',
                                    'delete subnet %(subject)s')
    subnet6_create = _ChangeTypeCode('subnet', 'subnet6_create',
                                     'create IPv6 subnet %(subject)s')
    subnet6_mod = _ChangeTypeCode('subnet', 'subnet6_mod',
                                  'modify IPv6 subnet %(subject)s')
    subnet6_delete = _ChangeTypeCode('subnet', 'subnet6_delete',
                                     'delete IPv6 subnet %(subject)s')

    srv_record_add = _ChangeTypeCode('host', 'srv_rec_add',
                                     'add srv-record %(subject)s -> %(dest)s')
    srv_record_del = _ChangeTypeCode('host', 'srv_rec_del',
                                     'del srv-record %(subject)s -> %(dest)s')

    FieldTypeCode = _FieldTypeCode
    DnsZone = _DnsZoneCode
Beispiel #14
0
class Constants(cereconst.Constants):
    """ Common DNS module constants. """

    # TODO: move these to Cerebrum/modules/bofhd/utils.py?
    auth_dns_superuser = _AuthRoleOpCode('dns_superuser',
                                         'Perform any DNS command')

    auth_dns_lita = _AuthRoleOpCode('dns_lita',
                                    'Perform LITA-level DNS commands')

    #
    # DNS Entities
    #
    entity_dns_cname = cereconst._EntityTypeCode(
        'cname', 'cname - see table "cerebrum.cname_info" and friends.')
    entity_dns_host = cereconst._EntityTypeCode(
        # name-clash with existing entity_type
        'dns_host',
        'dns_host - see table "cerebrum.dns_host_info" and friends.')
    entity_dns_a_record = cereconst._EntityTypeCode(
        'a_record',
        'a_record - see table "cerebrum.a_record_info" and friends.')
    entity_dns_aaaa_record = cereconst._EntityTypeCode(
        'aaaa_record',
        'aaaa_record - see table "cerebrum.aaaa_record_info" and friends.')
    entity_dns_owner = cereconst._EntityTypeCode(
        'dns_owner', 'dns_owner - see table "cerebrum.dns_owner" and friends.')
    entity_dns_ip_number = cereconst._EntityTypeCode(
        'dns_ip_number',
        'dns_ip_number - see table "cerebrum.dns_ip_number" and friends.')
    entity_dns_ipv6_number = cereconst._EntityTypeCode(
        'dns_ipv6_number',
        'dns_ipv6_number - see table "cerebrum.dns_ipv6_number" and friends.')
    entity_dns_subnet = cereconst._EntityTypeCode(
        'dns_subnet',
        'dns_subnet - see table "cerebrum.dns_subnet" and friends.')
    entity_dns_ipv6_subnet = cereconst._EntityTypeCode(
        'dns_ipv6_subnet',
        'dns_ipv6_subnet - see table "cerebrum.dns_ipv6_subnet" and friends.')

    #
    # Namespace for DNS names
    #
    dns_owner_namespace = cereconst._ValueDomainCode('dns_owner_ns',
                                                     'Domain for dns_owners')

    #
    # NIS host group?
    #
    spread_uio_machine_netgroup = cereconst._SpreadCode(
        'NIS_mng@uio', cereconst.Constants.entity_group,
        'Machine netgroup in NIS domain "uio"')

    field_type_txt = _FieldTypeCode('TXT', 'TXT Record')

    #
    # Traits
    #
    trait_dns_contact = _EntityTraitCode(
        'dns_contact', entity_dns_owner,
        """Contact information (e-mail address) for the host.""")
    trait_dns_comment = _EntityTraitCode(
        'dns_comment', entity_dns_owner,
        """A freeform comment about the host.""")

    #
    # Default DNS zone
    #
    other_zone = _DnsZoneCode("other", None)

    FieldTypeCode = _FieldTypeCode
    DnsZone = _DnsZoneCode