QubesWniVmStorage: prefix system user with "qubes-vm-".
This commit is contained in:
parent
f927f12e39
commit
5fb1991ad5
@ -40,14 +40,20 @@ class QubesWniVmStorage(QubesVmStorage):
|
|||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super(QubesWniVmStorage, self).__init__(*args, **kwargs)
|
super(QubesWniVmStorage, self).__init__(*args, **kwargs)
|
||||||
# Use the user profile as "private.img"
|
# Use the user profile as "private.img"
|
||||||
self.private_img = os.path.join("c:\\Users", self.vm.name)
|
self.private_img = os.path.join("c:\\Users", self._get_username())
|
||||||
|
|
||||||
|
def _get_username(self, vmname = None):
|
||||||
|
if vmname is None:
|
||||||
|
vmname = self.vm.name
|
||||||
|
return "qubes-vm-%s" % vmname
|
||||||
|
|
||||||
def get_config_params(self):
|
def get_config_params(self):
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
def create_on_disk_private_img(self, verbose, source_template = None):
|
def create_on_disk_private_img(self, verbose, source_template = None):
|
||||||
win32api.ShellExecute(None, "runas",
|
win32api.ShellExecute(None, "runas",
|
||||||
"net", "user %s %s /ADD" % (self.vm.name, "testpass"),
|
"net", "user %s %s /ADD"
|
||||||
|
% (self._get_username(), "testpass"),
|
||||||
None, 0)
|
None, 0)
|
||||||
|
|
||||||
def create_on_disk_root_img(self, verbose, source_template = None):
|
def create_on_disk_root_img(self, verbose, source_template = None):
|
||||||
@ -55,7 +61,7 @@ class QubesWniVmStorage(QubesVmStorage):
|
|||||||
|
|
||||||
def remove_from_disk(self):
|
def remove_from_disk(self):
|
||||||
win32api.ShellExecute(None, "runas",
|
win32api.ShellExecute(None, "runas",
|
||||||
"net", "user %s /DELETE" % (self.vm.name),
|
"net", "user %s /DELETE" % (self._get_username()),
|
||||||
None, 0)
|
None, 0)
|
||||||
super(QubesWniVmStorage, self).remove_from_disk()
|
super(QubesWniVmStorage, self).remove_from_disk()
|
||||||
|
|
||||||
@ -76,11 +82,11 @@ class QubesWniVmStorage(QubesVmStorage):
|
|||||||
try:
|
try:
|
||||||
# TemplateVm in WNI is quite virtual, so do not require the user
|
# TemplateVm in WNI is quite virtual, so do not require the user
|
||||||
if not self.vm.is_template():
|
if not self.vm.is_template():
|
||||||
win32net.NetUserGetInfo(None, self.vm.name, 0)
|
win32net.NetUserGetInfo(None, self._get_username(), 0)
|
||||||
except pywintypes.error, details:
|
except pywintypes.error, details:
|
||||||
if details[0] == 2221:
|
if details[0] == 2221:
|
||||||
# "The user name cannot be found."
|
# "The user name cannot be found."
|
||||||
raise QubesException("User %s doesn't exist" % self.vm.name)
|
raise QubesException("User %s doesn't exist" % self._get_username())
|
||||||
else:
|
else:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user