Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unsure how to use 'multipass' mount #3920

Open
sjg20 opened this issue Feb 5, 2025 · 2 comments
Open

Unsure how to use 'multipass' mount #3920

sjg20 opened this issue Feb 5, 2025 · 2 comments
Labels
bug needs triage Issue needs to be triaged

Comments

@sjg20
Copy link

sjg20 commented Feb 5, 2025

Describe the bug
I want to be able to mount local directories within the guest OS

To Reproduce
How, and what happened?

  1. multipass mount /scratch jammy:/scratch
    Source path "/scratch" does not exist
  2. ls /scratch/
    sglass/

Expected behavior
I expected it to create a mount at /scratch inside the guest

Logs
Please provide logs from the daemon, see accessing logs on where to find them on your platform.

Additional info

  • OS: [e.g. macOS 10.15]
  • CPU architecture or model: [e.g. x86, arm, Apple M1]
  • multipass version
  • multipass info
  • multipass get local.driver

Additional context
14:50 $ sudo dmesg |tail
[15752.974184] mpqemubr0: port 1(tap-5d49d8b073f) entered forwarding state
[15797.973041] audit: type=1400 audit(1738791800.322:262): apparmor="DENIED" operation="open" class="file" profile="snap.multipass.multipass" name="/etc/init.d/" pid=1917178 comm="bash" requested_mask="r" denied_mask="r" fsuid=1500 ouid=0
[15947.911900] audit: type=1400 audit(1738791950.266:263): apparmor="STATUS" operation="profile_load" profile="snap.multipass.multipassd" name="multipass.jammy.2f4c0bcc.sshfs_server" pid=1919666 comm="apparmor_parser"
[15947.971007] audit: type=1400 audit(1738791950.325:264): apparmor="DENIED" operation="open" class="file" profile="multipass.jammy.2f4c0bcc.sshfs_server" name="/etc/ssl/openssl.cnf" pid=1919667 comm="sshfs_server" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[15947.991235] audit: type=1400 audit(1738791950.345:265): apparmor="DENIED" operation="capable" class="cap" profile="multipass.jammy.2f4c0bcc.sshfs_server" pid=1919667 comm="sshfs_server" capability=12 capname="net_admin"
[15955.765688] audit: type=1400 audit(1738791958.119:266): apparmor="STATUS" operation="profile_remove" profile="snap.multipass.multipassd" name="multipass.jammy.2f4c0bcc.sshfs_server" pid=1919861 comm="apparmor_parser"
[16174.378703] audit: type=1400 audit(1738792176.739:267): apparmor="STATUS" operation="profile_load" profile="snap.multipass.multipassd" name="multipass.jammy.2f4c0bcc.sshfs_server" pid=1922956 comm="apparmor_parser"
[16174.394238] audit: type=1400 audit(1738792176.755:268): apparmor="DENIED" operation="open" class="file" profile="multipass.jammy.2f4c0bcc.sshfs_server" name="/etc/ssl/openssl.cnf" pid=1922957 comm="sshfs_server" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[16174.412805] audit: type=1400 audit(1738792176.773:269): apparmor="DENIED" operation="capable" class="cap" profile="multipass.jammy.2f4c0bcc.sshfs_server" pid=1922957 comm="sshfs_server" capability=12 capname="net_admin"
[16179.766680] audit: type=1400 audit(1738792182.127:270): apparmor="STATUS" operation="profile_remove" profile="snap.multipass.multipassd" name="multipass.jammy.2f4c0bcc.sshfs_server" pid=1923129 comm="apparmor_parser"

logs:
Feb 05 14:42:35 ellesmere multipassd[2933]: [1916226] started: qemu-system-x86_64 -bios OVMF.fd --enable-kvm -cpu host -nic tap,ifname=tap-5d49d8b073f,script=no,dow>
Feb 05 14:42:35 ellesmere multipassd[2933]: process started
Feb 05 14:42:35 ellesmere multipassd[2933]: Waiting for SSH to be up
Feb 05 14:42:35 ellesmere multipassd[2933]: QMP: {"QMP": {"version": {"qemu": {"micro": 1, "minor": 2, "major": 8}, "package": ""}, "capabilities": ["oob"]}}
Feb 05 14:42:35 ellesmere multipassd[2933]: QMP: {"return": {}}
Feb 05 14:42:37 ellesmere multipassd[2933]: QMP: {"timestamp": {"seconds": 1738791757, "microseconds": 272116}, "event": "RTC_CHANGE", "data": {"offset": -1, "qom-p>
Feb 05 14:42:38 ellesmere multipassd[2933]: QMP: {"timestamp": {"seconds": 1738791757, "microseconds": 304606}, "event": "RTC_CHANGE", "data": {"offset": -1, "qom-p>
Feb 05 14:42:43 ellesmere multipassd[2933]: QMP: {"timestamp": {"seconds": 1738791763, "microseconds": 198330}, "event": "NIC_RX_FILTER_CHANGED", "data": {"path": ">
Feb 05 14:42:43 ellesmere dnsmasq-dhcp[3485]: DHCPDISCOVER(mpqemubr0) 52:54:00:5b:37:82
Feb 05 14:42:43 ellesmere dnsmasq-dhcp[3485]: DHCPOFFER(mpqemubr0) 10.128.75.186 52:54:00:5b:37:82
Feb 05 14:42:43 ellesmere dnsmasq-dhcp[3485]: DHCPREQUEST(mpqemubr0) 10.128.75.186 52:54:00:5b:37:82
Feb 05 14:42:43 ellesmere dnsmasq-dhcp[3485]: DHCPACK(mpqemubr0) 10.128.75.186 52:54:00:5b:37:82 jammy
Feb 05 14:42:45 ellesmere multipassd[2933]: Caching initial SSH session
Feb 05 14:43:15 ellesmere multipassd[2933]: QMP: {"timestamp": {"seconds": 1738791795, "microseconds": 874661}, "event": "RTC_CHANGE", "data": {"offset": 0, "qom-pa>
Feb 05 14:45:43 ellesmere multipassd[2933]: initializing mount /home/sglass => /scratch in 'jammy'
Feb 05 14:45:43 ellesmere multipassd[2933]: Executing 'which snap'
Feb 05 14:45:43 ellesmere multipassd[2933]: Executing 'sudo snap list multipass-sshfs'
Feb 05 14:45:43 ellesmere multipassd[2933]: Executing '[ -e /snap ]'
Feb 05 14:45:43 ellesmere multipassd[2933]: Installing the multipass-sshfs snap in 'jammy'
Feb 05 14:45:43 ellesmere multipassd[2933]: Executing 'sudo snap install multipass-sshfs'
Feb 05 14:45:50 ellesmere multipassd[2933]: process program '/snap/multipass/14086/bin/sshfs_server'
Feb 05 14:45:50 ellesmere multipassd[2933]: process arguments '10.128.75.186, 22, ubuntu, /home/sglass, /scratch, 1500:-1,, 1500:-1,, 3'
Feb 05 14:45:50 ellesmere multipassd[2933]: Applied AppArmor policy: multipass.jammy.2f4c0bcc.sshfs_server
Feb 05 14:45:50 ellesmere multipassd[2933]: [1919667] started: /snap/multipass/14086/bin/sshfs_server 10.128.75.186 22 ubuntu /home/sglass /scratch 1500:-1, 1500:-1>
Feb 05 14:45:50 ellesmere sshfs_server[1919667]: /build/multipass/parts/multipass/src/src/sshfs_mount/sshfs_mount.cpp:123 make_sftp_server(source = /home/sglass, ta>
Feb 05 14:45:50 ellesmere sshfs_server[1919667]: Executing 'snap run multipass-sshfs.env'
Feb 05 14:45:50 ellesmere sshfs_server[1919667]: Executing 'sudo env LD_LIBRARY_PATH=/snap/multipass-sshfs/145/lib /snap/multipass-sshfs/145/bin/sshfs -V'
Feb 05 14:45:50 ellesmere sshfs_server[1919667]: Executing 'sudo /bin/bash -c 'P="/scratch"; while [ ! -d "$P/" ]; do P="${P%/*}"; done; echo $P/''
Feb 05 14:45:50 ellesmere sshfs_server[1919667]: Executing 'id -u'
Feb 05 14:45:50 ellesmere sshfs_server[1919667]: /build/multipass/parts/multipass/src/src/sshfs_mount/sshfs_mount.cpp:132 make_sftp_server(): id -u = 1000
Feb 05 14:45:50 ellesmere sshfs_server[1919667]: Executing 'id -g'
Feb 05 14:45:50 ellesmere sshfs_server[1919667]: /build/multipass/parts/multipass/src/src/sshfs_mount/sshfs_mount.cpp:137 make_sftp_server(): id -g = 1000
Feb 05 14:45:50 ellesmere sshfs_server[1919667]: Executing 'sudo env LD_LIBRARY_PATH=/snap/multipass-sshfs/145/lib /snap/multipass-sshfs/145/bin/sshfs -o slave -o t>
Feb 05 14:45:57 ellesmere multipassd[2933]: Executing 'findmnt --type fuse.sshfs | grep -E '^/scratch +:/home/sglass''
Feb 05 14:45:58 ellesmere multipassd[2933]: Stopping mount "/scratch" in instance 'jammy'
Feb 05 14:45:58 ellesmere multipassd[2933]: Mount "/scratch" in instance 'jammy' has stopped

@sjg20 sjg20 added bug needs triage Issue needs to be triaged labels Feb 5, 2025
@georgeliao
Copy link
Contributor

Hi @sjg20
Thanks for reporting this.
Indeed, I can reproduce the issue. Somehow, the newly created folder in the / directory can not be seen. The existing ones like /snap or /tmp seems unaffected. Anyway, for the time being, can you create new folder in your user directory instead? That should work as expected. In the meantime, we will investigate this further once we can allocate time to it.

@ricab
Copy link
Collaborator

ricab commented Feb 6, 2025

I believe this is because of snap confinement. Only things inside your home and removable media can be mounted, provided you have those interfaces connected (see snap connections multipass). Home should be connected by default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug needs triage Issue needs to be triaged
Projects
None yet
Development

No branches or pull requests

3 participants