Need help with SMB share to Windows VM Guest

I have a brand new Win11 Pro laptop that’s been wiped to Fedora42. Win11Pro is now running in a VMWare VM. I plan to keep my files hosted on linux, and use Windows to run Visual Studio and other things that only come in Windows flavor. I have a folder in my home directory shared over Samba, using the default hostname fedora.

Problem: The Windows VM can ping fedora but cannot see the share. Fedora can also ping Windows. This seems like a fairly specific problem, but maybe the group can think of a good check.

In the Win11 VM, I’m trying to Map a Network Drive in Explorer (aka file manager). When I Browse, the tree control shows “Network” but that will not expand. Entering path \fedora\foo fails with error “Windows cannot access…”

I’m pretty sure samba is running:

$ systemctl status smb
* smb.service - Samba SMB Daemon
     Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; preset: disa>
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: active (running) since Mon 2025-10-27 20:19:39 EDT; 11h ago
$ sudo netstat -tapn | grep smbd
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      79780/smbd          
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      79780/smbd          
tcp6       0      0 :::139                  :::*                    LISTEN      79780/smbd          
tcp6       0      0 :::445                  :::*                    LISTEN      79780/smbd          

Here’s the tail of /etc/samba/smb.conf:

[share]
        comment = My Share
        path = /home/larry/foo
        writeable = yes
        browseable = yes
        public = yes
        create mask = 0644
        directory mask = 0755
        write list = user

Wireshark on the fedora host shows NBNS, ARP and DNS packets from the Win11 guest. There are also LLMNR packets coming up red. I installed LLMNR and it didn’t help. It’s turned off now because I saw some articles about LLMNR attacks.

Can anyone spot my mistake? Should I try a little harder with LLMNR? Is there another package for the full NetBios API? Thank you.

When in Windows, what do you get from opening up powershell and running a tnc pointing it at your linux servers IP address with the -port 445 parameter, as in tnc 192.168.1.1 -port 445

It worked. Took about two seconds. Looks like clipboard is not synching, but it showed “TCP Test Succeeded: True”

Other information: windows firewall is off.

got any logs in /var/log/samba/?

You could also try setting the log level up to 3 and then watching journalctl -f as you try to initiate an SMB mount from Windows - that would at least show you the requests were getting though to the linux host.

1 Like

Good thinking. log.smbd looks like there may be a bad configuration. I’ll go that way, and try to connect from another PC. I may have gotten hung up on the VM aspect of the problem.

[2025/10/27 20:19:39.936275,  0] ../../lib/param/loadparm.c:1960(lpcfg_do_service_parameter)
  Global parameter interfaces found in service section!
[2025/10/27 20:19:39.936402,  0] ../../lib/param/loadparm.c:1960(lpcfg_do_service_parameter)
  Global parameter bind interfaces only found in service section!

Also, I installed VMWare tools. The clipboard now synchs but Map Drive still fails with 0x80070043 Network Name not found, even though I gave it the IP number.

Your smb.conf file is evidently incorrect as you have parameters intended for global config in the services section. interfaces and bind statements should be under global only as they apply to everything.

You can check it for validity with testparm.

The printer one is just spurious.

Right. But now I’ve added a second backslash before the IP number and am getting a little further. Windows shows a login screen. After I click OK there, it takes a second, then comes back with the same error. But now there is new content in log.smbd:

[2025/10/28 11:06:15.007636,  0] ../../lib/param/loadparm.c:1960(lpcfg_do_service_parameter)
  Global parameter interfaces found in service section!
[2025/10/28 11:06:15.007682,  0] ../../lib/param/loadparm.c:1960(lpcfg_do_service_parameter)
  Global parameter bind interfaces only found in service section!
[2025/10/28 11:06:15.011334,  0] ../../source3/printing/printer_list.c:58(get_printer_list_db)
  get_printer_list_db: Failed to open printer_list.tdb

Thanks for talking this through with me.

it will probably help if you run ‘testparm -s’ on the server and post the output here.
It also isn’t a good idea to share anything from a users home directory, only the user can get to it.

It’s all default except for the [share] at the end. This is my personal laptop - nobody else will be using it. Once samba is working I plan to restrict it to the vmware virtual NIC.

larry@fedora:~$ testparm -s
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)

Server role: ROLE_STANDALONE

# Global parameters
[global]
	printcap name = cups
	security = USER
	workgroup = SAMBA
	idmap config * : backend = tdb
	cups options = raw
	include = /etc/samba/usershares.conf
	smb3 unix extensions = Yes


[homes]
	browseable = No
	comment = Home Directories
	inherit acls = Yes
	read only = No
	valid users = %S %D%w%S


[printers]
	browseable = No
	comment = All Printers
	create mask = 0600
	path = /var/tmp
	printable = Yes


[print$]
	comment = Printer Drivers
	create mask = 0664
	directory mask = 0775
	force group = @printadmin
	path = /var/lib/samba/drivers
	write list = @printadmin root


[share]
	comment = My Share
	create mask = 0644
	guest ok = Yes
	path = /home/larry/foo
	read only = No
	write list = user

You might as well remove ‘guest ok = yes’ (which I think is ‘public = yes’ in your actual smb.conf), I say this for two reasons. One is that you do not have ‘map to guest = bad user’ in global and Samba guest access will not work without it, the other is that Windows 11pro has guest access turned off by default, they really want you to use a username and password.

You have ‘write list’ set, but it appears to be set to ‘user’, is this supposed to be a group called ‘user’, if not, do you have a user called ‘user’ ? Not that it matters, the OS permissions on /home/larry will only allow ‘larry’ to get anywhere near the shares directory, but then will be denied because the standard permissions will not allow ‘user’ to do anything, Samba cannot override the OS permissions.

Good hints but no joy. The [share] stanza was copied from a tutorial, so I’m not surprised there was something wrong. I commented out those lines and restarted the smbd service. Same error. Also same error from my old Win11 native PC across the room.

larry@fedora:~$ testparm -s
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)

Server role: ROLE_STANDALONE

# Global parameters
[global]
	printcap name = cups
	security = USER
	workgroup = SAMBA
	idmap config * : backend = tdb
	cups options = raw
	include = /etc/samba/usershares.conf
	smb3 unix extensions = Yes


[homes]
	browseable = No
	comment = Home Directories
	inherit acls = Yes
	read only = No
	valid users = %S %D%w%S


[printers]
	browseable = No
	comment = All Printers
	create mask = 0600
	path = /var/tmp
	printable = Yes


[print$]
	comment = Printer Drivers
	create mask = 0664
	directory mask = 0775
	force group = @printadmin
	path = /var/lib/samba/drivers
	write list = @printadmin root


[share]
	comment = My Share
	create mask = 0644
	path = /home/larry/foo
	read only = No
larry@fedora:~$ 

The smbd log keeps complaining abou printer setup:

[2025/10/28 11:55:54.691299,  0] ../../source3/smbd/server.c:1971(main)
  smbd version 4.22.4 started.
  Copyright Andrew Tridgell and the Samba Team 1992-2025
[2025/10/28 11:57:52.909222,  0] ../../source3/printing/printer_list.c:58(get_printer_list_db)
  get_printer_list_db: Failed to open printer_list.tdb

Could that be jinxing the whole thing?

Looks like my samba tutorial was bad. I can’t list samba users.

larry@fedora:~$ sudo samba-tool user list
[sudo] password for larry: 
ltdb: tdb(/var/lib/samba/private/sam.ldb): tdb_open_ex: could not open file /var/lib/samba/private/sam.ldb: No such file or directory

Unable to open tdb '/var/lib/samba/private/sam.ldb': No such file or directory
Failed to connect to 'tdb:///var/lib/samba/private/sam.ldb' with backend 'tdb': Unable to open tdb '/var/lib/samba/private/sam.ldb': No such file or directory
ERROR(ldb): uncaught exception - Unable to open tdb '/var/lib/samba/private/sam.ldb': No such file or directory
larry@fedora:~$ ls /var/lib/samba
account_policy.tdb  drivers            lock     registry.tdb    smbprofile.tdb
certs               group_mapping.tdb  private  share_info.tdb
larry@fedora:~$ ls /var/lib/samba/private/
ls: cannot open directory '/var/lib/samba/private/': Permission denied
larry@fedora:~$ sudo ls /var/lib/samba/private/
certs  msg.sock  passdb.tdb  secrets.tdb
larry@fedora:~$ sudo samba-tool user create larry
New Password: 
Retype Password: 
ltdb: tdb(/var/lib/samba/private/sam.ldb): tdb_open_ex: could not open file /var/lib/samba/private/sam.ldb: No such file or directory

Unable to open tdb '/var/lib/samba/private/sam.ldb': No such file or directory
Failed to connect to 'tdb:///var/lib/samba/private/sam.ldb' with backend 'tdb': Unable to open tdb '/var/lib/samba/private/sam.ldb': No such file or directory
ERROR(ldb): Failed to add user 'larry':  - Unable to open tdb '/var/lib/samba/private/sam.ldb': No such file or directory

larry@fedora:~$ sudo ls /var/lib/samba/private/
certs  msg.sock  passdb.tdb  secrets.tdb

Thanks for the help, but I’m going to remove everything, start from scratch, and test from another PC before trying the VM.

Before you do that, samba-tool will not work with what you have, a standalone server, it is meant for Samba active directory.
Try running this smbclient command on a Linux client:
smbclient -NL <THE_SAMBA_SERVERS_IPADDRESS>

Replace <THE_SAMBA_SERVERS_IPADDRESS> with the Samba servers ipaddress.

It should show you what shares (if any) are available on the Samba server, among which should be ‘share’.

Then this smbclient command:

smbclient //<THE_SAMBA_SERVERS_IPADDRESS>/share -U larry
You should be prompted for the password for ‘larry’ and then logged in, ending up at a prompt like this:

smb: >

Thank you. I think you just cracked it. This worked:

larry@fedora:~$ smbclient //127.0.0.1/share -U larry
Password for [SAMBA\larry]:
Try "help" to get a list of possible commands.

This failed:

larry@fedora:~$ smbclient //127.0.0.1/foo -U larry
Password for [SAMBA\larry]:
tree connect failed: NT_STATUS_BAD_NETWORK_NAME

Trying to Map “share” instead of “foo” in Windows gave me a permissions error. I should be able to work things out from here.

1 Like

The second one will never work unless the sharename is ‘foo’.
From what you posted, your service or sharename is ‘share’ with the path ‘/home/larry/foo’, with CIFS you connect to ‘//computer_name_or_ip/service’ , with ‘service’ being the shares name. So, as you have found out ‘//127.0.0.1/share’ will work , but ‘//127.0.0.1/foo’ will not.

Right. My mistake all along was the wrong share name.