You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
When I want to run a virtual machine as isolated from the host, such as running a GitHub Actions Self-Hosted Runner, I want to disable bidirectional file sharing between macOS and Linux.
Describe the solution you'd like
It would be great if we can disable file sharing for a specific Linux instance explicitly.
This is planned but it's worth nothing that similar to WSL, the shared lightweight kernel/VM that runs Docker and machines will always have access to the underlying mounts. This means that it's not advisable to rely on them for true security purposes, as a Linux kernel vulnerability would allow mounting the shared file system anyway.
However, as long as the Linux kernel's security is not compromised, this should be an effective form of access control.
Reacted by Naoki Ikeguchi, Zsolt Ero, Johan Wassberg, jeremy avnet, Coleton Watt, Francisco Giordano, Chirayu Krishnappa, Mason, Cassandra and Bart van Bragt
It would be great for my use cases if it was possible to set up specific file shares between the host and VM, not just to have an all or nothing approach. Having support for that would allow me to move completely to orbstack and not have to use UTM/parallels anymore.
It would be great for my use cases if it was possible to set up specific file shares between the host and VM, not just to have an all or nothing approach. Having support for that would allow me to move completely to orbstack and not have to use UTM/parallels anymore.
@dnaq Can you elaborate on why that's a must-have for your use case?
Client requirements, e.g. it’s ok for the client that the VM can read/write a client specific folder on the host, as long as other VMs can’t read that folder. Host is trusted, VMs aren’t to that extent.
Analysis of untrusted (potentially malicious) code, where the results of the analysis are needed outside of the VM. I realise that there is always the possibility of kernel/vm escapes, but that risk is much lower than malicious user space code.
Hope that helps
Reacted by Danny Lin, Pamela M Seals, Alex Pardoe, weakish, hexclann, Alex Kornitzer, Romain Ruetschi, Chaldean, FlyMe2theMoon, Mason and 5 more
Update: This has been mostly implemented internally for several versions, but there are a few remaining gaps to close before it'll actually have any security value. That's why it hasn't been exposed yet.
If you want specific file sharing paths, please open a separate issue.
Reacted by Naoki Ikeguchi, Pamela M Seals, Alexander Barris, Mason, Honza Pobořil and Bart van Bragt
For me, simply not sharing anything would be sufficient; a lot of software I run in the VM turns out to write config into the homedir. Probably the shell history too. I don't want that on my host machine.
There's actually a secret API to enable "isolated" mode on a machine:
Run orbctl info <machine name> and copy the "ID" it gives.
Run curl -v --unix-socket ~/.orbstack/run/sconrpc.sock http://sconrpc --json '{"jsonrpc":"2.0","id":1,"method":"ContainerSetConfig","params":{"container_key":"<ID>","config":{"isolated":<true or false>}}}, substituting the ID and whether you want isolated mode on or off.
Fully restart OrbStack.
To be clear I do not know precisely what it does, it might not be a bulletproof sandbox. But it seems to prevent mounting the file shares, and more importantly makes the machine's container run as an unprivileged user in the real vm (without that, something running as root in the container could simply mount -t virtiofs mac /mnt/mac and get access to all your files).
Edit: This is probably what this comment was referring to.
Reacted by Denis Bazhenov, Egor Chemokhonenko, Benny Cornelissen, Mason, Chenna Kautilya, Patrick Recher, dns, Alex Harper and Steve Loria
Reacted by Steffan Halvorsen
Reacted by Sebastian Cohnen, Alexandr Burdiyan and dns
would be great to have a way to control mounts per path not just for isolation but also to avoid exposing things like /Users /Applications /Library by default
At least add a big fat warning to the docs explaining that there's no isolation at all while you're working on it.
I don't think it's such a stretch for people finding your product more or less by chance to assume VMs will be isolated.
Reacted by Adrian Delgado, vak and Ishara Ruchiranga
Is this only for newly created machines? There toggle doesn't work for an existing one.
What do you mean with it doesnt work? That it silently fails (and non isolates) or that this toggle is disabled?
When the machine is stopped, that toggle can be used
I had an existing debian 13 x86 machine, but /mnt/mac and /mnt/machines and the symlinks in / were still traversable after toggling the isolated switch.
I just re-tested with a new machine and confirmed the behaviour (same for arm), and it seems the same vice-versa is also true. If a machine is created with the isolated switch, then toggling it off does not present the mounts when the machine is started again.
@kdrag0n thanks for landing this! would it be possible to get some threat model docs up so we can see what it does/doesn't cover? I understand it covers the bind mounts but OrbStack does a lot of magic under the hood (I assume that's what "integration" covers)
Can you guys implement this feature for the VM that running docker engine? I want to isolate that machine so it unable to mount the host root FS into new container.
Activity
kdrag0n commentedon May 2, 2023
This is planned but it's worth nothing that similar to WSL, the shared lightweight kernel/VM that runs Docker and machines will always have access to the underlying mounts. This means that it's not advisable to rely on them for true security purposes, as a Linux kernel vulnerability would allow mounting the shared file system anyway.
However, as long as the Linux kernel's security is not compromised, this should be an effective form of access control.
dnaq commentedon Jun 4, 2023
It would be great for my use cases if it was possible to set up specific file shares between the host and VM, not just to have an all or nothing approach. Having support for that would allow me to move completely to orbstack and not have to use UTM/parallels anymore.
kdrag0n commentedon Jun 5, 2023
@dnaq Can you elaborate on why that's a must-have for your use case?
dnaq commentedon Jun 5, 2023
Sure. There are mostly two main reasons:
Hope that helps
FreeIdom commentedon Jun 29, 2023
I have the same needs, please consider allow specific file shares between the host and VM
ludwig-gramberg commentedon Jul 11, 2023
+1 on chosing to share specific folders between mac and the vm
just consider a badly ran command in the vm can delete a lot of files on the host
kdrag0n commentedon Jul 16, 2023
Update: This has been mostly implemented internally for several versions, but there are a few remaining gaps to close before it'll actually have any security value. That's why it hasn't been exposed yet.
If you want specific file sharing paths, please open a separate issue.
hkrutzer commentedon Oct 5, 2023
For me, simply not sharing anything would be sufficient; a lot of software I run in the VM turns out to write config into the homedir. Probably the shell history too. I don't want that on my host machine.
kdrag0n commentedon Oct 5, 2023
@hkrutzer Linux and macOS home directories are already separate:
/home/$USERand/Users/$USER.MisterMountain commentedon Oct 5, 2023
@hkrutzer
As far as i see it the homedir of the user in the VM is not /Users/MisterMountain:
MisterMountain@gentoo ~ $ echo $HOME /home/MisterMountainhkrutzer commentedon Oct 5, 2023
That is strange, I will test again!
57 remaining items
tbodt commentedon Mar 5, 2026
There's actually a secret API to enable "isolated" mode on a machine:
orbctl info <machine name>and copy the "ID" it gives.curl -v --unix-socket ~/.orbstack/run/sconrpc.sock http://sconrpc --json '{"jsonrpc":"2.0","id":1,"method":"ContainerSetConfig","params":{"container_key":"<ID>","config":{"isolated":<true or false>}}}, substituting the ID and whether you want isolated mode on or off.To be clear I do not know precisely what it does, it might not be a bulletproof sandbox. But it seems to prevent mounting the file shares, and more importantly makes the machine's container run as an unprivileged user in the real vm (without that, something running as root in the container could simply
mount -t virtiofs mac /mnt/macand get access to all your files).Edit: This is probably what this comment was referring to.
z7311873 commentedon Apr 5, 2026
我使用它做一些测试脚本的工作,当然也包括删除文件功能的脚本。
虚拟机是一个很棒的测试环境,但它与mac共享文件夹使我非常苦恼。
希望尽快实装这个功能,以免我不小心删除掉mac上的文件。
Pribess commentedon Apr 8, 2026
would be great to have a way to control mounts per path not just for isolation but also to avoid exposing things like /Users /Applications /Library by default
witgaw commentedon Apr 16, 2026
At least add a big fat warning to the docs explaining that there's no isolation at all while you're working on it.
I don't think it's such a stretch for people finding your product more or less by chance to assume VMs will be isolated.
kdrag0n commentedon Apr 20, 2026
Fixed in v2.1.0.
pbowyer commentedon Apr 20, 2026
The docs aren't updated yet, but when you create a new machine in the GUI there's a new option:
And if you use
orb createon the CLI there's a new flag:Very excited to try this out today 😀
mcx808 commentedon Apr 20, 2026
Is this only for newly created machines? There toggle doesn't work for an existing one.
LeonMueller-OneAndOnly commentedon Apr 20, 2026
What do you mean with it doesnt work? That it silently fails (and non isolates) or that this toggle is disabled?
When the machine is stopped, that toggle can be used
mcx808 commentedon Apr 20, 2026
I had an existing debian 13 x86 machine, but
/mnt/macand/mnt/machinesand the symlinks in/were still traversable after toggling the isolated switch.I just re-tested with a new machine and confirmed the behaviour (same for arm), and it seems the same vice-versa is also true. If a machine is created with the isolated switch, then toggling it off does not present the mounts when the machine is started again.
mcx808 commentedon Apr 30, 2026
Managed to re-test isolation toggle in 2.1.1 and it works properly now.
agnosticlines commentedon May 5, 2026
@kdrag0n thanks for landing this! would it be possible to get some threat model docs up so we can see what it does/doesn't cover? I understand it covers the bind mounts but OrbStack does a lot of magic under the hood (I assume that's what "integration" covers)
giautm commentedon Jun 10, 2026
Can you guys implement this feature for the VM that running docker engine? I want to isolate that machine so it unable to mount the host root FS into new container.