mcvirt.auth package¶
Submodules¶
mcvirt.auth.auth module¶
Provide auth class for managing permissions.
-
class
mcvirt.auth.auth.Auth[source]¶ Bases:
mcvirt.rpc.pyro_object.PyroObjectProvides authentication and permissions for performing functions within MCVirt.
-
add_user_permission_group(*args, **kwargs)¶
-
assert_permission(permission_enum, vm_object=None)[source]¶ Use check_permission function to determine if a user has a given permission and throws an exception if the permission is not present.
-
assert_user_type(*user_type_names)[source]¶ Ensure that the currently logged in user is of a specified type.
-
check_permission(permission_enum, vm_object=None, user_object=None)[source]¶ Check that the user has a given permission, either globally through MCVirt or for a given VM.
-
check_permission_in_config(permission_config, user, permission_enum)[source]¶ Read permissions config and determines if a user has a given permission.
-
static
check_root_privileges()[source]¶ Ensure that the user is either running as root or using sudo.
-
check_user_type(*user_type_names)[source]¶ Check that the currently logged-in user is of a specified type.
-
copy_permissions(source_vm, dest_vm)[source]¶ Copy the permissions from a given VM to this VM. This functionality is used whilst cloning a VM
-
delete_user_permission_group(*args, **kwargs)¶
-
mcvirt.auth.cluster_user module¶
Provide class for managing cluster users.
-
class
mcvirt.auth.cluster_user.ClusterUser(username)[source]¶ Bases:
mcvirt.auth.user_base.UserBaseUser type for cluster daemon users.
-
CAN_GENERATE= True¶
-
CLUSTER_USER= True¶
-
DISTRIBUTED= False¶
-
USER_PREFIX= 'mcv-cluster-'¶
-
allow_proxy_user¶ Connection users can proxy for another user.
-
node¶ Return the node that the user is used for
-
mcvirt.auth.connection_user module¶
Provide class for managing connection users.
-
class
mcvirt.auth.connection_user.ConnectionUser(username)[source]¶ Bases:
mcvirt.auth.user_base.UserBaseUser type for initial connection users
-
CAN_GENERATE= True¶
-
CLUSTER_USER= True¶
-
DISTRIBUTED= False¶
-
PERMISSIONS= [<Mock id='140218820756944'>]¶
-
USER_PREFIX= 'mcv-connection-'¶
-
allow_proxy_user¶ Connection users can proxy for another user.
-
mcvirt.auth.factory module¶
Provide factory class to create/obtain users.
-
class
mcvirt.auth.factory.Factory[source]¶ Bases:
mcvirt.rpc.pyro_object.PyroObjectClass for obtaining user objects
-
USER_CLASS¶ alias of
UserBase
-
generate_user(user_type)[source]¶ Remove any existing connection user and generates credentials for a new connection user.
-
mcvirt.auth.permissions module¶
Provide permission enum and permission group definitions.
mcvirt.auth.session module¶
Provide class for managing authentication sessions.
mcvirt.auth.user module¶
Provide class for regular MCVirt interactive users
-
class
mcvirt.auth.user.User(username)[source]¶ Bases:
mcvirt.auth.user_base.UserBaseProvides an interaction with the local user backend
mcvirt.auth.user_base module¶
Provide a base class for user objects.
-
class
mcvirt.auth.user_base.UserBase(username)[source]¶ Bases:
mcvirt.rpc.pyro_object.PyroObjectBase object for users (both user and automated).
-
CAN_GENERATE= False¶
-
CLUSTER_USER= False¶
-
DISTRIBUTED= True¶
-
PERMISSIONS= []¶
-
USER_PREFIX= None¶
-
allow_proxy_user¶ Connection users can proxy for another user.
-
delete(*args, **kwargs)¶
-