User Tools

Site Tools


services:eecsvm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
services:eecsvm [2025/05/02 14:19] jasservices:eecsvm [2025/07/04 09:09] (current) – [EECSVM Service] jas
Line 3: Line 3:
 The EECSVM service allows students to use virtual machines required by courses they are taking.  The service is only available to students enrolled in courses requiring this service, and the respective faculty.  Once a course completes, the student VMs will deleted to ensure there is enough space for use the next term. The EECSVM service allows students to use virtual machines required by courses they are taking.  The service is only available to students enrolled in courses requiring this service, and the respective faculty.  Once a course completes, the student VMs will deleted to ensure there is enough space for use the next term.
  
-Users will use [[https://www.virtualbox.org|VirtualBox]] to access virtual machines from either a **lab workstation**, or, remotely using a set of servers available in [[https://remotelab.eecs.yorku.ca|remotelab]].+Users will use [[https://www.virtualbox.org|VirtualBox]] to access virtual machines from either a lab workstation, or, remotely using a set of servers available in [[https://remotelab.eecs.yorku.ca|remotelab]].
  
-The lab machines which will support EECSVM service locally include:+These lab workstations support EECSVM service:
  
 ^ Lab ^ Cores per Workstation ^ Memory ^ ^ Lab ^ Cores per Workstation ^ Memory ^
Line 21: Line 21:
  
 ^ Server ^ Cores per Server ^ Memory ^ ^ Server ^ Cores per Server ^ Memory ^
-rose    20 | 256 GB |  +ruby    24 cores, 48 threads | 256 GB |  
-ruby    20 256 GB |  +rose    28 cores, 56 threads 512 GB |  
-| scarlet | 24 256 GB |+| scarlet | 28 cores, 56 threads 768 GB |
  
-**NOTE: Due to Microsoft restrictions, Windows VMs must only be used by students who are sitting at a workstation **in a lab** on campus.  You must not use Windows VMs remotely.  Please respect this policy.**+**NOTE: Due to Microsoft restrictions, Windows VMs must only be used by students who are sitting at a workstation in a lab on campus.  You must not use Windows VMs remotely.  Please respect this policy.**
  
 ===== Check If You Have Access ===== ===== Check If You Have Access =====
Line 36: Line 36:
 </code> </code>
  
-===== List Available Virtual Machines =====+If you see, "You do not have access to EECSVM service.", then you are not enrolled in a course to which access has been granted.  You can email tech if you have any questions.  If you have just enrolled in a course, it make take up to 24 hours before access is granted.
  
-To list available virtual machines that you can install:+If you see the following error, then you are attempting to use the EECSVM service from from a system which is not in the above list of workstations or servers:
  
 <code> <code>
-% eecsvm list available+EECSVM service is not available on this system. 
 +Please view this webpage to see where you can access the EECSVM service: 
 +https://wiki.eecs.yorku.ca/dept/tdb/services:eecsvm 
 +</code> 
 +       
 +===== List Available Virtual Machines =====
  
-Available VMs To Install:+To list available virtual machines that you can install:
  
 +<code>
 +% eecsvm list vms
 3482-w24-win10 3482-w24-win10
 4421 4421
 flarevm flarevm
-kali-linux-2024.4-virtualbox-amd64+kali-linux-2025.1c (alias: kali)
 metasploitable2 metasploitable2
 metasploitable3-ubuntu14 metasploitable3-ubuntu14
 metasploitable3-win2k8 metasploitable3-win2k8
 SEED-Ubuntu20.04 SEED-Ubuntu20.04
-ubuntu-24.04.2-lts-server+ubuntu-24.04.2-lts-server (alias: ubuntu)
 windows11 windows11
 +</code>
  
-Available VM Bundles To Install:+===== List Available Virtual Machine Bundles =====
  
-eecs3481-alomari +If you are enrolled in a course to which multiple virtual machines will be installed, a VM bundle has likely already been created for the course.  A VM bundle allows you to install multiple virtual machines with specific installation options with a single command. 
-eecs3482-alomari + 
-eecs4484-alomari+To list available virtual machine bundles: 
 + 
 +<code> 
 +% eecsvm list bundles 
 +eecs3481-alomari
 + --netname secnet SEED-Ubuntu20.04 seed 
 +eecs3482-alomari
 + --netname secnet kali-linux-2025.1c kali 
 + --netname secnet SEED-Ubuntu20.04 seed 
 + --netname secnet metasploitable3-ubuntu14 
 + --netname secnet metasploitable3-win2k8 
 +eecs3482-rts: 
 + --netname secnet kali-linux-2025.1c kali 
 + --netname secnet metasploitable3-ubuntu14 
 + --netname secnet windows11 
 +eecs4484-alomari
 + --netname secnet SEED-Ubuntu20.04 seed 
 + --netname secnet flarevm
 </code> </code>
  
-Single VMs can be available (such as Ubuntu)or a VM bundle can be available (eg. "eecs3481-alomari").  A VM bundle is just a way to install several VMs at once.+For exampleyou can see that the "eecs3482-alomari" bundle includes Kali Linux, SEED, and Metasploitable Ubuntu and Windows versions.
  
 ===== Install A Virtual Machine ===== ===== Install A Virtual Machine =====
Line 71: Line 96:
 <code> <code>
 % eecsvm install ubuntu-24.04.2-lts-server % eecsvm install ubuntu-24.04.2-lts-server
-Installing ubuntu-24.04.2-lts-server ...+ubuntu-24.04.2-lts-server VM:
 Virtual machine 'ubuntu-24.04.2-lts-server' is created and registered. Virtual machine 'ubuntu-24.04.2-lts-server' is created and registered.
-UUID: e00def12-af80-4c38-854e-49a1bcaf0cbc+UUID: 3d9d73f1-f655-453a-8555-aa38f84fd350
 Settings file: '/eecs/vm/user/jas/ubuntu-24.04.2-lts-server/ubuntu-24.04.2-lts-server.vbox' Settings file: '/eecs/vm/user/jas/ubuntu-24.04.2-lts-server/ubuntu-24.04.2-lts-server.vbox'
 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
-Medium created. UUID: 95e2c8be-f5f0-43f8-9a1f-ee9a31b6b505+Medium created. UUID: eebee866-d94d-4751-81ad-f538962e14be
 </code> </code>
  
 Ubuntu server is installed immediately.  It takes very little time. Ubuntu server is installed immediately.  It takes very little time.
 +
 +In the listing of available VMs, you can see that ubuntu-24.04.2-lts-server is also aliased to just "ubuntu" This means you can install it like this as well:
 +
 +<code>
 +% eecsvm install ubuntu
 +ubuntu VM:
 +Virtual machine 'ubuntu-24.04.2-lts-server' is created and registered.
 +UUID: 69d452a3-d2d5-4f93-98ac-65c6ce921884
 +Settings file: '/eecs/vm/user/jas/ubuntu-24.04.2-lts-server/ubuntu-24.04.2-lts-server.vbox'
 +0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
 +Medium created. UUID: 5e33e04b-53c2-4e60-b17b-0669b9a390dc
 +</code>
  
 ===== Installing a Virtual Machine Multiple Times ===== ===== Installing a Virtual Machine Multiple Times =====
  
-If you need to install multiple copies of the same VM (say, 3 copies of Ubuntu), then you can give each install its own name:+If you need to install multiple copies of the same virtual machine (say, 3 copies of Ubuntu Server), then you can give each install its own name:
  
 <code> <code>
-% eecsvm install ubuntu-24.04.2-lts-server ubuntu1 +% eecsvm install ubuntu ubuntu1 
-Installing ubuntu1 ...+ubuntu VM:
 Virtual machine 'ubuntu1' is created and registered. Virtual machine 'ubuntu1' is created and registered.
-UUID: 2577f6d7-99c3-4818-ace2-cd88dd46ed69+UUID: 8ccb442a-4e77-4b01-bf04-20573072de7e
 Settings file: '/eecs/vm/user/jas/ubuntu1/ubuntu1.vbox' Settings file: '/eecs/vm/user/jas/ubuntu1/ubuntu1.vbox'
 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
-Medium created. UUID: da90b8d3-054e-4414-877b-faacce7c1bb5 +Medium created. UUID: 354c50c3-d424-4582-881d-60fcd2623092 
- +% eecsvm install ubuntu ubuntu2 
-% eecsvm install ubuntu-24.04.2-lts-server ubuntu2 +ubuntu VM:
-Installing ubuntu2 ...+
 Virtual machine 'ubuntu2' is created and registered. Virtual machine 'ubuntu2' is created and registered.
-UUID: 67417f56-7064-471a-8918-31796dec8abc+UUID: ab673026-1ba9-4166-82b0-dcc7da5c35d0
 Settings file: '/eecs/vm/user/jas/ubuntu2/ubuntu2.vbox' Settings file: '/eecs/vm/user/jas/ubuntu2/ubuntu2.vbox'
 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
-Medium created. UUID: 09c32bb6-59a4-4764-982c-697e0651415a +Medium created. UUID: 42d86496-d566-4f19-b8ab-68a42e07fdd6 
- +% eecsvm install ubuntu ubuntu3 
-% eecsvm install ubuntu-24.04.2-lts-server ubuntu3 +ubuntu VM:
-Installing ubuntu3 ...+
 Virtual machine 'ubuntu3' is created and registered. Virtual machine 'ubuntu3' is created and registered.
-UUID: 0096fab4-1759-4d5b-9852-bd7ad58de15b+UUID: 61aeaf0e-b0a7-4e17-9efc-702e312f1040
 Settings file: '/eecs/vm/user/jas/ubuntu3/ubuntu3.vbox' Settings file: '/eecs/vm/user/jas/ubuntu3/ubuntu3.vbox'
 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
-Medium created. UUID: 153c6fb2-3898-477a-b401-4738b517652d+Medium created. UUID: e9456026-7214-4ed0-b7d2-4be551af7fa8
 </code> </code>
  
-==== Optional Installation Options ====+==== Optional Virtual Machine Installation Options ====
  
-Other options which you can use when installing a VM with "eecsvm install" include:+Other options which you can use when installing a virtual machine with "eecsvm install" include:
  
-  * -f = force the install to overwrite a previous install +  * --force         Force install even if the VM is already installed. 
-  * --immutable = changes that you make to the VM will be lost on exit (without this, the changes you make will be preserved). +  * --immutable     Mark VM disk as immutable (changes thrown away on exit). 
-  * --netname "<network-name>"By default, each VM will only share the network with other instances of the same VM.  Using this option, you can install various VMs which will share the same private network. +  * --netname NAME  Attach the VM to VirtualBox network NAME. By default, each VM will only share the network with other instances of the same VM.  Using this option, you can install various VMs which will share the same private network. 
  
 For example, to overwrite a previous Ubuntu install, and to create an immutable VM which uses the network name "mynet": For example, to overwrite a previous Ubuntu install, and to create an immutable VM which uses the network name "mynet":
  
 <code> <code>
-% eecsvm install ---immutable --netname mynet ubuntu-24.04.2-lts-server ubuntu1 +% eecsvm install --force --immutable --netname mynet ubuntu ubuntu1 
-Installing ubuntu1 ...+ubuntu VM:
 Virtual machine 'ubuntu1' is created and registered. Virtual machine 'ubuntu1' is created and registered.
-UUID: 4e038be3-a871-44bb-a25a-ca90cbf57031+UUID: 3565008e-f109-486a-b47d-dc6b4df96d66
 Settings file: '/eecs/vm/user/jas/ubuntu1/ubuntu1.vbox' Settings file: '/eecs/vm/user/jas/ubuntu1/ubuntu1.vbox'
 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
-Medium created. UUID: ca1771c7-e9a3-4c9a-9373-9842d144326d+Medium created. UUID: 34f31b21-f166-40c5-ae14-9a8b619ac5f8 
 +</code> 
 + 
 +If you haven't used --force, the the system would not have been able to re-install the VM since it is already installed: 
 + 
 +<code> 
 +% eecsvm install --immutable --netname mynet ubuntu ubuntu1 
 +ubuntu VM: 
 +error: VM ubuntu1 already exists.  Repeat install command and add --force to reinstall.
 </code> </code>
  
 ===== Installing a Virtual Machine Bundle ===== ===== Installing a Virtual Machine Bundle =====
  
-To install a virtual machine bundle, pass the bundle name to the "eecsvm installbundle" command.  For example, to install the EECS3482 Bundle:+To install a virtual machine bundle, pass the bundle name to the "eecsvm installbundle" command.  For example, to install the eecs3482-alomari bundle:
  
 <code> <code>
 % eecsvm installbundle eecs3482-alomari % eecsvm installbundle eecs3482-alomari
 Installing bundle eecs3482-alomari  ... Installing bundle eecs3482-alomari  ...
-Installing kali ...+Processing install --netname secnet kali-linux-2025.1c kali: 
 +kali-linux-2025.1c VM:
 Virtual machine 'kali' is created and registered. Virtual machine 'kali' is created and registered.
-UUID: dfa82c7a-23c8-4132-bfdf-c39922b5ff98+UUID: bf97f58f-1ffe-49d4-8a0e-b27b6ade338a
 Settings file: '/eecs/vm/user/jas/kali/kali.vbox' Settings file: '/eecs/vm/user/jas/kali/kali.vbox'
 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
-Medium created. UUID: ac99f4ec-68e6-4ab8-a5c6-721fe915512a +Medium created. UUID: 9c1610c4-0ff2-4440-8ff5-787d58b673f1 
-Installing seed ...+Processing install --netname secnet SEED-Ubuntu20.04 seed: 
 +SEED-Ubuntu20.04 VM:
 Virtual machine 'seed' is created and registered. Virtual machine 'seed' is created and registered.
-UUID: 8aa22a36-c9fd-4a40-aca0-9225c51871a6+UUID: 56a28c1f-107a-41f4-a557-d9f3d607069e
 Settings file: '/eecs/vm/user/jas/seed/seed.vbox' Settings file: '/eecs/vm/user/jas/seed/seed.vbox'
 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
-Medium created. UUID: 67d7e11d-9dbf-469a-a441-259325030e86 +Medium created. UUID: b1086ee0-4d64-4307-a7cc-6876256fab0b 
-Installing metasploitable3-ubuntu14 ...+Processing install --netname secnet metasploitable3-ubuntu14: 
 +metasploitable3-ubuntu14 VM:
 Virtual machine 'metasploitable3-ubuntu14' is created and registered. Virtual machine 'metasploitable3-ubuntu14' is created and registered.
-UUID: eb0da547-df9f-44ba-9838-12bc1215bf83+UUID: 9f8d52c0-f328-4d23-a4ab-6db8ac647412
 Settings file: '/eecs/vm/user/jas/metasploitable3-ubuntu14/metasploitable3-ubuntu14.vbox' Settings file: '/eecs/vm/user/jas/metasploitable3-ubuntu14/metasploitable3-ubuntu14.vbox'
 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
-Medium created. UUID: f9990525-5538-4a64-8cf6-49cac97bd657 +Medium created. UUID: 0f2c9f6c-25e8-4828-940b-cd06aa6d8385 
-Installing metasploitable3-win2k8 ...+Processing install --netname secnet metasploitable3-win2k8: 
 +metasploitable3-win2k8 VM:
 Virtual machine 'metasploitable3-win2k8' is created and registered. Virtual machine 'metasploitable3-win2k8' is created and registered.
-UUID: 54e13c70-1d5f-4955-95a6-bc430775c2d6+UUID: 37966072-5e59-422f-849c-912d15568b6e
 Settings file: '/eecs/vm/user/jas/metasploitable3-win2k8/metasploitable3-win2k8.vbox' Settings file: '/eecs/vm/user/jas/metasploitable3-win2k8/metasploitable3-win2k8.vbox'
 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
-Medium created. UUID: bb899898-a7b5-44f4-a2a7-33c765a5ea05+Medium created. UUID: e5a123ab-2c3d-4d27-ac41-5a11129bfbe5
 </code> </code>
  
-Here, we can see that several VMs were installed: Kali, SEED, and Metasploitable3 Windows, and Ubuntu versions.  What you don'see here is that they are all configured to use the shared network "secnet", so all of these VMs will share a private network.+Here, we can see that several virtual machines were installed: Kali, SEED, and Metasploitable3 Windows, and Ubuntu versions.  We can see they are installed using a shared network "secnet", so all of the VMs will share a private network, 10.0.2.0/24.
  
 ===== Check Which Virtual Machines You Have Installed ===== ===== Check Which Virtual Machines You Have Installed =====
  
-To check which virtual machines that you have installed:+To check which virtual machines you have installed:
  
 <code> <code>
 % eecsvm list installed % eecsvm list installed
- 
-User installed VMs: 
- 
 kali kali
 metasploitable3-ubuntu14 metasploitable3-ubuntu14
Line 192: Line 236:
 ===== Starting a Virtual Machine ===== ===== Starting a Virtual Machine =====
  
-To start a virtual machine, start the VirtualBox GUI using the "virtualbox" command, then click on the VM on the left side of the display (underneath the VM name it will say: "Powered Off"), then click "Start" on the right side of the display:+To start a virtual machine:
  
 <code> <code>
-virtualbox+eecsvm start kali 
 +Waiting for VM "kali" to power on... 
 +VM "kali" has been successfully started.
 </code> </code>
  
-You can also start the VM from the command line:+The virtual machine starts, and you see the VM output in a separate window. 
 + 
 +If you want to start the VM in the background (AKA headless), do it like this:
  
 <code> <code>
-vboxmanage startvm kali+eecsvm start kali --headless
 Waiting for VM "kali" to power on... Waiting for VM "kali" to power on...
 VM "kali" has been successfully started. VM "kali" has been successfully started.
 </code> </code>
  
-**WARNING:** On some older O/S, the VirtualBox guest additions do not work.  In these cases, when you click on the VM window, your mouse will be locked to that window, and you will not be able to exit it unless you hit the right CTRL key on your keyboard.+Since EECSVM is a wrapper for VirtualBox, you can also start VMs in the VirtualBox GUI.  Start VirtualBox by using the "virtualbox" command from a terminal, or by selecting the Activities menu, then searching for "virtualbox"
 + 
 +**WARNING:** On some older O/S, the VirtualBox Guest Additions do not work.  In these cases, when you click on the VM window, your mouse will be locked to that window, and you will not be able to exit it unless you hit the right CTRL key on your keyboard.
  
 ===== Stopping A Virtual Machine ===== ===== Stopping A Virtual Machine =====
  
-You can stop a running virtual machine from the VirtualBox GUI.  Right-click on the VM in the left side of the display, and choose "Stop" then your shutdown option.  The VM will be shut down.+To stop a virtual machine (issue an O/S shutdown):
  
-You can also shut down your VM from the command line:+<code> 
 +% eecsvm stop kali 
 +Stop sent to VM "kali"
 +</code> 
 + 
 +The virtual machine shuts down. 
 + 
 +You can also shutdown VMs in the VirtualBox GUI.  Right-click on the virtual machine in the left side of the display, and choose "Stop" then your shutdown option.  The VM will be shut down
 + 
 +===== SSH Access ===== 
 + 
 +If your VM is running VirtualBox Guest Additions, and an SSH server, then you can SSH to it from the EECS system where you are running the VM. 
 + 
 +For example, if "kali" VM is started, and running an SSH server (which it does not run by default):
  
 <code> <code>
-vboxmange controlvm kali shutdown+% eecsvm ssh kali 
 +ssh into the VM kali with: ssh <user>@localhost -p 26600 
 +% ssh kali@localhost -p 26600 
 +The authenticity of host '[localhost]:26600 ([127.0.0.1]:26600)' can't be established. 
 +ED25519 key fingerprint is SHA256:i3EHIF7IDsuyQ9pwOf/FAXEVG+dNzxbK5MZB3/yj0Qg. 
 +This key is not known by any other names. 
 +Are you sure you want to continue connecting (yes/no/[fingerprint])? yes 
 +Warning: Permanently added '[localhost]:26600' (ED25519) to the list of known hosts. 
 +kali@localhost's password:  
 +Linux kali 6.12.13-amd64 #1 SMP PREEMPT_DYNAMIC Kali 6.12.13-1kali1 (2025-02-11) x86_64 
 + 
 +The programs included with the Kali GNU/Linux system are free software; 
 +the exact distribution terms for each program are described in the 
 +individual files in /usr/share/doc/*/copyright. 
 + 
 +Kali GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent 
 +permitted by applicable law. 
 +┌──(kali㉿kali)-[~] 
 +└─$ 
 </code> </code>
  
 +NOTE: Every time you run the "eecsvm ssh" command, the system reconfigures SSH access to the VM, so a new port may be used.
 +
 +NOTE: As most VMs have well documented username and password, if you are enabling SSH access on a VM, please make sure that you've changed the username or password on your local VM copy.  Otherwise, another student could connect to your running VM.
 ===== Check Your Virtual Machine Storage Quota ===== ===== Check Your Virtual Machine Storage Quota =====
  
Line 224: Line 308:
 <code> <code>
 % eecsvm quota % eecsvm quota
-Quota:  0.of 39062.5 MB used+Quota: 98.of 195312.5 MB used
 </code> </code>
  
-By default, you have a 40 GB storage quota.  When you install VMs, the original VM disk does not count toward your quota.  For example, if you install an Ubuntu VM from the repository, it will take up very little of your space, no matter how big the default install is.  Anything you add to the VM will be counted toward your VM quota.  If you run out of space, you won't be able to get more, so use your space wisely.+By default, you have a 20 GB storage quota.  When you install VMs, the original VM disk does not count toward your quota.  For example, if you install an Ubuntu VM from the repository, it will take up very little of your space, no matter how big the default install is.  Anything you add to the VM will be counted toward your VM quota.  If you run out of space, you won't be able to get more, so please use your space wisely.
  
 ===== Reset Your EECSVM Environment ===== ===== Reset Your EECSVM Environment =====
Line 235: Line 319:
 <code> <code>
 % eecsvm reset % eecsvm reset
 +************************* WARNING ******************************************
  
-*** WARNING ***+This operation will delete ***ALL*** of your virtual machines, AND  
 +your VirtualBox configuration.  This operation is NOT recoverable.
  
-This operation will delete ALL of your virtual machines, and  +Please ensure that VirtualBox and your VMs are not running on any system.
-VirtualBox configuration.  This operation is NOT recoverable.+
  
 Do you wish to proceed (YES/[no]) ?YES Do you wish to proceed (YES/[no]) ?YES
-Deleting /cs/home/testuser/.config/VirtualBox ...+Deleting /cs/home/jas/.config/VirtualBox ...
 Deleting VMs ... Deleting VMs ...
 Done Done
 </code> </code>
  
-===== Access Your EECS Home Directory From Inside Your VM =====+===== Access Your EECS Home Directory From Inside Your Virtual Machine =====
  
-Your EECS home directory is shared with certain VMs.  The method of accessing it will be different depending on the O/S:+Your EECS home directory can be shared with virtual machines.  The method of accessing it will vary depending on the O/S:
  
 **Linux** **Linux**
  
-With Linux, your EECS home directory will be available as:  /media/sf_homes+With Linux, your EECS home directory will be available as: /media/sf_homes
  
-NOTE: If you are setting up a new virtual machine, or adding additional users to an existing VM, you need to ensure that the user who should be able to access your EECS home directory is in the vboxsf group.  Here's one way to handle that under Linux:+NOTE: If you are setting up a new virtual machine, or adding additional users to an existing VM, you need to ensure that: 
  
-<code>+  * 1) The VirtualBox "Guest Additions" package is installed, and  
 +  * 2) The "vboxsf" group exists ("Virtualbox Shared Folder"). 
 +  * 3) the user who should be able to access your EECS home directory is in the vboxsf group.  You enter this command on the guest VM:<code>
 % sudo usermod -aG vboxsf $(whoami) % sudo usermod -aG vboxsf $(whoami)
 </code> </code>
Line 263: Line 350:
 **Windows** **Windows**
  
-If the share is available to a Windows VM, it can be mounted as \\vboxsrv\homes+  * 1) The VirtualBox "Guest Additions" package must be installed. 
 +  * 2) Your home directory is accessible as Windows share "\\vboxsrv\homes".
  
 ===== Creating Your Own Virtual Machine ===== ===== Creating Your Own Virtual Machine =====
Line 272: Line 360:
  
 <code> <code>
- % eecsvm install ubuntu-24.04.2-lts-server my-custom-ubuntu +% eecsvm install ubuntu my-custom-ubuntu 
-Installing my-custom-ubuntu ...+ubuntu VM:
 Virtual machine 'my-custom-ubuntu' is created and registered. Virtual machine 'my-custom-ubuntu' is created and registered.
-UUID: 406608ad-6804-4849-9342-4cab53715ed9+UUID: 6e317972-2718-46c8-aa9e-501cf8c1c5ba
 Settings file: '/eecs/vm/user/jas/my-custom-ubuntu/my-custom-ubuntu.vbox' Settings file: '/eecs/vm/user/jas/my-custom-ubuntu/my-custom-ubuntu.vbox'
 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
-Medium created. UUID: 8fc44cdc-125a-475b-8fe3-5599f3ffc785+Medium created. UUID: 6ceff68d-d00a-44dd-958d-714085bcfeed
 </code> </code>
  
-Next, start the VM, and all the required components.  For example, you could change the system configuration of the VM, or install software packages.+Next, start the VM, and make any required adjustments.  For example, you could install various software packages, and configure the VM in custom ways.
  
 When you're done testing, shut down the VM, and export the VM to tech: When you're done testing, shut down the VM, and export the VM to tech:
Line 287: Line 375:
 <code> <code>
 % eecsvm export my-custom-ubuntu % eecsvm export my-custom-ubuntu
- 
 Exporting my-custom-ubuntu (this will take some time) ... Exporting my-custom-ubuntu (this will take some time) ...
 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Line 296: Line 383:
 This will automatically package up your VM, put it into a holding directory, and send an e-mail to tech to let them know that you've exported a VM.  It's a good idea to follow this up with an email to tech to let us know your intention.  Tech will then install your VM into the image repository, and make it available to all users of the EECSVM service. This will automatically package up your VM, put it into a holding directory, and send an e-mail to tech to let them know that you've exported a VM.  It's a good idea to follow this up with an email to tech to let us know your intention.  Tech will then install your VM into the image repository, and make it available to all users of the EECSVM service.
  
-NOTE: Since all users who use a VM from the repository are linked to the default image, once users start using the image, we can no longer change the base image.  +NOTE: Once a user has installed a VM from the repository, we can no longer change the base image.
  
 WARNING: While you can install a VM from an ISO image, if you do this, ALL of the disk usage will be counted in your VM quota, and you will likely run out of space. WARNING: While you can install a VM from an ISO image, if you do this, ALL of the disk usage will be counted in your VM quota, and you will likely run out of space.
Line 302: Line 389:
 ===== Other Important Information About EECSVM Service ===== ===== Other Important Information About EECSVM Service =====
  
-  * Data is the EECSVM area is **not backed up**.  If you corrupt your disk image, you will need to start again. +  * Data in the EECSVM area is **not backed up**.  If you corrupt your VM disk image, you will need to start again. 
  
-  * VirtualBox will not monitor if you are running your VM simultaneously on multiple machines.  If you do this, it **will** cause data loss and you will lose your work and need to start over.  Always ensure that you shutdown your virtual machines cleanly, and exit VirtualBox whenever you're done. +  * VirtualBox will not monitor if you are running your VM simultaneously on multiple machines.  If you do this, it **will** cause corruption and data loss and you will lose your work and need to start over.  Always ensure that you shutdown your virtual machines cleanly, and exit VirtualBox whenever you are done. 
    
-  * If you're using a lab machine, check the [[https://www.eecs.yorku.ca/schedule/pcmode|pcmode schedule]] to ensure that the machine that you are using will not be rebooted into labtest while you are working.  This will interrupt your session, and could corrupt your VM.+  * If you're using a lab workstationplease check the [[https://www.eecs.yorku.ca/schedule/pcmode|pcmode schedule]] to ensure that the workstation that you choose will not be rebooted into labtest while you are working.  This will interrupt your session, and could corrupt your VMs.
  
   * All supported VMs must run on the current VirtualBox version.  If the VM reports that it cannot be used with the latest VirtualBox version, we won't be able to use it.   * All supported VMs must run on the current VirtualBox version.  If the VM reports that it cannot be used with the latest VirtualBox version, we won't be able to use it.
Line 312: Line 399:
   * The EECSVM service is intended for **education** students.  This service is not intended for research purposes.     * The EECSVM service is intended for **education** students.  This service is not intended for research purposes.  
  
-  * At the end of each term, ALL student storage on the EECSVM service will be **deleted** without notice.  Once this happens, your data is not recoverable.  Please ensure that you've backed up your data before the start of the next term.+  * At the end of each term, ALL student storage on the EECSVM service will be **deleted** without notice.  Once this happens, the data is not recoverable.  Please ensure that you've backed up your data before the start of the next term.
  
-  * Each user can choose which VMs they install in their storage space.  Users who install VMs from ISOs will find that they run out of disk space. Additional quota for students is not available.+  * Each user can choose which VMs they install in their storage space.  Users who install VMs from ISOs will find that they run out of disk space. Additional quota for students is not available. Likewise, since installation of updates will consume your quota, **it is not recommended to install updates unless necessary**.
  
   * For additional VirtualBox assistance, refer to the [[https://docs.oracle.com/en/virtualization/virtualbox/|VirtualBox online documentation]].   * For additional VirtualBox assistance, refer to the [[https://docs.oracle.com/en/virtualization/virtualbox/|VirtualBox online documentation]].
Line 320: Line 407:
   * For more information on VirtualBox command line options, use command "vboxmanage".   * For more information on VirtualBox command line options, use command "vboxmanage".
  
-Here's information on the currently installed VMs for use with the EECSVM service:+Here'additional information on the currently installed VMs for use with the EECSVM service:
  
 ===== Currently Installed VMs ===== ===== Currently Installed VMs =====
Line 330: Line 417:
 |4421|4421 VM|na| |4421|4421 VM|na|
 |flarevm|Windows 11 FlareVM with default packages|u: common, p: common| |flarevm|Windows 11 FlareVM with default packages|u: common, p: common|
-|kali-linux-2024.4-virtualbox-amd64|Kali Linux|u: kali, p: kali|+|kali-linux-2025.1c|Kali Linux|u: kali, p: kali|
 |metasploitable2|Metasploitable 2|u: mfsadmin, p: mfsadmin| |metasploitable2|Metasploitable 2|u: mfsadmin, p: mfsadmin|
 |metasploitable3-ubuntu14|Metasploitable 3|u: vagrant, p: vagrant| |metasploitable3-ubuntu14|Metasploitable 3|u: vagrant, p: vagrant|
Line 341: Line 428:
  
 ^Name^Description^ ^Name^Description^
-|ecs3481-alomari|SEED|+|eecs3481-alomari|SEED|
 |eecs3482-alomari|Kali, SEED, Metasploitable3 Ubuntu, Metasploitable3 Windows| |eecs3482-alomari|Kali, SEED, Metasploitable3 Ubuntu, Metasploitable3 Windows|
 +|eecs3482-rts|Kali, Metasploitable3 Ubuntu, Windows 11|
 |eecs4484-alomari|SEED, FlareVM| |eecs4484-alomari|SEED, FlareVM|
 +
 +**NOTE: Due to Microsoft restrictions, Windows VMs must only be used by students who are sitting at a workstation in a lab on campus. You must not use Windows VMs remotely. Please respect this policy.**
  
services/eecsvm.1746209981.txt.gz · Last modified: by jas