Hey Guix, Having trouble getting the Samba directory share in qemu to work as advertised:
$ qemu-system-x86_64 -netdev user,id=net0,smb=/share ... Running something like the above with samba installed should spin up `smbd`; however, this doesn't happen. I see no smbd processes started. Qemu does create /tmp/qemu-smb.XXXXXX/smb.conf, however. Am I just missing something obvious? Can your reproduce? Digging through the qemu repo[0], it looks like qemu calls out to a samba daemon with an invocation that resolves to this: $ smbd -l /tmp/qemu-smb.XXXXXX -s /tmp/qemu-smb.XXXXXXX/smb.conf Manually running the above results in silent failure, though. To be clear, running the above with --foreground makes no difference. For good measure, I am attaching the smb.conf that qemu generates, in case you want to directly try the smbd command without spinning up qemu. Note, you may need to edit the 'path=/shared' line to an existing directory on your machine. Throwing strace at the above shows that the daemon is getting EPERM when trying to bind() the priviledged ports 445 and 139. Indeed, running the daemon under sudo works as expected, and I am able to access the shared directory from the guest machine as intended. Given the permission issues, I did try adding <samba>/sbin/smbd to my setuid-programs, but that seems to make no difference. Is this a PEBKAC issue or a legitimate bug? [0]:https://github.com/qemu/qemu/blob/7f368aed672117980f7f09933e1eb3e1139caae6/net/slirp.c
[global] private dir=/tmp/qemu-smb.2IQ1T0 interfaces=127.0.0.1 bind interfaces only=yes pid directory=/tmp/qemu-smb.2IQ1T0 lock directory=/tmp/qemu-smb.2IQ1T0 state directory=/tmp/qemu-smb.2IQ1T0 cache directory=/tmp/qemu-smb.2IQ1T0 ncalrpc dir=/tmp/qemu-smb.2IQ1T0/ncalrpc log file=/tmp/qemu-smb.2IQ1T0/log.smbd smb passwd file=/tmp/qemu-smb.2IQ1T0/smbpasswd security = user map to guest = Bad User load printers = no printing = bsd disable spoolss = yes usershare max shares = 0 [qemu] path=/share read only=no guest ok=yes force user=x