Source code for cybox.objects.unix_user_account_object

# Copyright (c) 2017, The MITRE Corporation. All rights reserved.
# See LICENSE.txt for complete terms.

from mixbox import fields

import cybox.bindings.unix_user_account_object as unix_user_account_binding
from cybox.common import String, NonNegativeInteger, UnsignedInteger
from cybox.objects.user_account_object import (Group, GroupList, Privilege,
                                               PrivilegeList, UserAccount)


[docs]class UnixGroup(Group): _binding = unix_user_account_binding _binding_class = unix_user_account_binding.UnixGroupType _namespace = 'http://cybox.mitre.org/objects#UnixUserAccountObject-2' _XSI_TYPE = "UnixGroupType" group_id = fields.TypedField("Group_ID", NonNegativeInteger)
[docs]class UnixGroupList(GroupList): group = fields.TypedField("Group", UnixGroup, multiple=True)
[docs]class UnixPrivilege(Privilege): _binding = unix_user_account_binding _binding_class = unix_user_account_binding.UnixPrivilegeType _namespace = 'http://cybox.mitre.org/objects#UnixUserAccountObject-2' _XSI_TYPE = "UnixPrivilegeType" permissions_mask = fields.TypedField("Permissions_Mask", String)
[docs]class UnixPrivilegeList(PrivilegeList): privilege = fields.TypedField("Privilege", UnixPrivilege, multiple=True)
[docs]class UnixUserAccount(UserAccount): _binding = unix_user_account_binding _binding_class = unix_user_account_binding.UnixUserAccountObjectType _namespace = 'http://cybox.mitre.org/objects#UnixUserAccountObject-2' _XSI_NS = "UnixUserAccountObj" _XSI_TYPE = "UnixUserAccountObjectType" group_id = fields.TypedField("Group_ID", UnsignedInteger) user_id = fields.TypedField("User_ID", UnsignedInteger) login_shell = fields.TypedField("Login_Shell", String) # Override abstract types group_list = fields.TypedField('Group_List', UnixGroupList) privilege_list = fields.TypedField('Privilege_List', UnixPrivilegeList)