Open codekitchen opened 4 years ago
Hi @codekitchen,
What are the permissions and ownership of those directories on the host? I just tried it on my Mac and those directories are accessible for me, so it looks to be something on your host.
Here's the output of ls -le@
on my host home directory. I'm not entirely sure what some of the extended attributes such as com.apple.macl
mean.
$ ls -le@
total 0
drwx------@ 3 brianp staff 96 Jan 31 2017 Applications
com.apple.quarantine 28
drwx------@ 4 brianp staff 128 Feb 24 19:49 Desktop
com.apple.icloud.desktop 8
com.apple.macl 72
0: group:everyone deny delete
drwx------@ 47 brianp staff 1504 Feb 24 20:49 Documents
com.apple.icloud.desktop 8
0: group:everyone deny delete
drwx------@ 6 brianp staff 192 Feb 25 12:46 Downloads
com.apple.macl 144
0: group:everyone deny delete
drwx------@ 93 brianp staff 2976 Nov 21 18:03 Library
com.apple.FinderInfo 32
0: group:everyone deny delete
drwx------+ 7 brianp staff 224 Oct 9 13:44 Movies
0: group:everyone deny delete
drwx------+ 6 brianp staff 192 Oct 9 13:44 Music
0: group:everyone deny delete
drwx------+ 8 brianp staff 256 May 31 2019 Pictures
0: group:everyone deny delete
drwxr-xr-x+ 5 brianp staff 160 Jan 20 2017 Public
0: group:everyone deny delete
drwxr-xr-x 3 brianp staff 96 Feb 21 10:39 VirtualBox VMs
drwxr-xr-x 15 brianp staff 480 Feb 3 18:42 miniconda3
Thinking about it a bit further, the Documents
, Desktop
and Downloads
directories are also the same directories that have the new protections in Catalina, where MacOS asks for confirmation whenever a new app wants to access them for the first time. I don't get any sort of prompt dialog from MacOS when multipass tries to access them.
There are a number of articles describing what that is. Here is one I found: https://lapcatsoftware.com/articles/macl.html
So it's definitely the problem on your machine. I'm running Catalina as well and don't have that issue, but it's entirely possible that I granted permission for all sorts of things in the past :grin:
Hm I'm not sure that's the issue. That article seems to be saying that the com.apple.macl
attribute actually grants implicit read permissions to files/folders with that attribute, so I don't see how that'd prevent multipass from reading those folders. Am I reading this wrong?
Although related to that article, I started digging around into the Security & Privacy preferences pane and I see that multipassd
is listed on the list of apps for "Full Disk Access", but it is unchecked, without me having done anything. I'm not sure why it would show up on this list.
If I check that box, multipass can now access all these directories, snapcraft can mount the folder inside Documents
, everything seems to be working.
Is it possible that something in the multipass install process didn't work correctly, and it was intended that this box would get checked? Or am I reading too much into the fact that multipassd
appeared on this list without me doing anything.
Hmm, I really don't know how multipassd
ended up on that list, nor why it isn't checked. I certainly don't see that at all on my machine and you're the first to report this issue as far as I know. The good news is that you got it working. I'm going to leave this open for now in case this is some brand new behavior and more folks run into this.
Same problem. I set manually a full disk access to multipassd with "Security & Privacy" tool to solve this. Apple seems add some ACL properties. https://lapcatsoftware.com/articles/macl.html So multipass install have to evolve a bit. amho.
I was trying to mount a directory to my host (Mac) with:
$ multipass mount /Users/george.hazlewood/Desktop/test/ k3s:/home/ubuntu/test/
and was getting:
mount failed: source "/Users/george.hazlewood/Desktop/test" is not readable
After enabling Full Disk Access in Security & Pricavy System Preferences for multipassd the problem went away. Thanks @SylvainLasnier and @codekitchen for the tip!
Or move the project workspace out of Document directory, such as ~/.
(For what it's worth, granting Multipass "full disk access" in the settings panel per https://github.com/canonical/multipass/issues/1389#issuecomment-591074740 resolved the issue for me; obviously there could be some security implications)
@codekitchen @townsend2010 I should add that applications cannot check themselves in those settings. That's for security reasons. The end-user must make that choice. If applications could exempt themselves from restrictions, there would no longer be a point to those restrictions being there, and the security would be broken.
Although related to that article, I started digging around into the Security & Privacy preferences pane and I see that
multipassd
is listed on the list of apps for "Full Disk Access", but it is unchecked, without me having done anything. I'm not sure why it would show up on this list.If I check that box, multipass can now access all these directories, snapcraft can mount the folder inside
Documents
, everything seems to be working.Is it possible that something in the multipass install process didn't work correctly, and it was intended that this box would get checked? Or am I reading too much into the fact that
multipassd
appeared on this list without me doing anything.
i got same issue, but i don't found multipassd in list permissions
mac: Sequoia multipass version: 1.15.0-dev.2929.pr661+gc67ef6641.mac (i use this version cause the last LTS version can't run instance after upgrade OS )
i got same issue, but i don't found multipassd in list permissions
In this case, you can press the + button, and find /Library/Application Support/com.canonical.multipass/bin/multipassd
binary and add it. Note, you may need to use Cmd + Shift + G
to bring up the "Go to Folder" box.
Even after doing this, I still get the same error; not sure what's going on here.
Even after doing this, I still get the same error; not sure what's going on here.
exactly the same on my issue, can anyone help? 🥲
Also, is there a way to pass execute permissions across mounts?
Even after doing this, I still get the same error; not sure what's going on here.
That full disk access on multipassd
should fix the problem, can you close that full disk access window and restart multipassd by running sudo launchctl unload /Library/LaunchDaemons/com.canonical.multipassd.plist
and sudo launchctl load /Library/LaunchDaemons/com.canonical.multipassd.plist
to make sure the change takes effect? and try mount again.
sudo launchctl load /Library/LaunchDaemons/com.canonical.multipassd.plist
after doing step above, i got still error permission chown: changing ownership of 'path/inside/mount': Permission denied
sudo launchctl load /Library/LaunchDaemons/com.canonical.multipassd.plist
after doing step above, i got still error permission
chown: changing ownership of 'path/inside/mount': Permission denied
actually there was no problem before, this appeared after I updated the macOS Sequoia version
Hi @0neCigarettes, since you observe this only with the test package, I wonder if this is caused by the package not being signed. Apps are treated differently and given different permissions depending on their origin on macOS.
If you want to relax those restrictions, you can find instructions online. For instance, this came up on a search. Please let us know if it makes a difference (if you decide to try it out).
We are preparing a proper (signed) release, which will be out soon and should supplant any origin verification issues.
Hi @0neCigarettes, since you observe this only with the test package, I wonder if this is caused by the package not being signed. Apps are treated differently and given different permissions depending on their origin on macOS.
If you want to relax those restrictions, you can find instructions online. For instance, this came up on a search. Please let us know if it makes a difference (if you decide to try it out).
We are preparing a proper (signed) release, which will be out soon and should supplant any origin verification issues.
@ricab thanks for your response, but this steps was already done when I did the installation
@0neCigarettes, so sudo spctl --master-disable
doesn't help? If that is the case, do you have any other tool that could be blocking accesses on your Mac?
@0neCigarettes, so
sudo spctl --master-disable
doesn't help? If that is the case, do you have any other tool that could be blocking accesses on your Mac?
it's doesn't help, I have done a reinstall, and it didn't change anything
Although related to that article, I started digging around into the Security & Privacy preferences pane and I see that
multipassd
is listed on the list of apps for "Full Disk Access", but it is unchecked, without me having done anything. I'm not sure why it would show up on this list. If I check that box, multipass can now access all these directories, snapcraft can mount the folder insideDocuments
, everything seems to be working. Is it possible that something in the multipass install process didn't work correctly, and it was intended that this box would get checked? Or am I reading too much into the fact thatmultipassd
appeared on this list without me doing anything.i got same issue, but i don't found multipassd in list permissions
mac: Sequoia multipass version: 1.15.0-dev.2929.pr661+gc67ef6641.mac (i use this version cause the last LTS version can't run instance after upgrade OS )
does the os version matter? which may have additional security?
I hope there is a quick solution regarding this, because I feel like there is no such thing as a light vm as multipass
Hi @0neCigarettes I am at a loss as to what is happening there, many other users have reported the test package for them. We are currently waiting for packages to be signed and we'll release as soon as that is done. Hopefully that will work better for you.
Highlighting a couple of comments that may be useful here:
I've installed multipass as part of an effort to build a snapcraft package on MacOS, but I'm running into issues with the mount functionality. I can access parts of my mounted home directory, but some directories such as
Desktop
,Documents
andDownloads
give me a permission denied error. I also get an error if I try tomultipass mount
any path under those directories. See console output below.I do have iCloud Drive enabled to sync my files, which could possibly be related somehow? Though I'd think that would only affect Documents and Desktop since they are the synced folders, Downloads is not synced.