10

I have a Windows computer on 192.168.0.103 and I want to access the c$ administrative share from a Linux computer which has 192.168.0.110 to exchange some files. From another Windows computer on the same network, I can simply open the Run prompt and type in the UNC path \\192.168.0.103\c$ and hit Enter. It then prompts for user name and password, and if they are typed in correctly it would open the share location in Windows Explorer.

How does this work from a Linux computer? I recently asked a question about the Run prompt, and apparently there is a similar prompt in Linux, but I can't use that to access UNC paths in the same fashion. So what kind of Linux voodoo, dark magic, incarnation, ceremony... do I need to perform before it allows me to do the same?

I'm using Debian 7.1.0 Wheezy.

1 Answer 1

7

You can just use Places -> Network GUI menu in Gnome to access your share. Alternatively, you can open a terminal and use smbclient like smbclient -L //192.168.0.113 to list available shares and smbclient //192.168.0.113/C to access the C$ share, see examples: http://www.linuxnix.com/2009/09/8-ways-to-mount-smbfs-samba-file-system-in-linux.html. I'm not sure what you mean by "access by UNC", may be you'd like to mount your SAMBA share and access it as if it were local filesystem? Then use smbfs.

About the magic, Linux uses SAMBA package which is an open source partial implementation of SMB/CIFS protocol, used by Windows machines to exchange data in Windows Domains or Workgroups.

The main manuals on SAMBA in Linux are SAMBA by example and SAMBA howto, but they are really lacking explanation of how the overall protocol is supposed to work, they imply your knowledge.

SMB/CIFS is a piece of ooze kind of technology, making use of like 10 other protocols and I failed to find a good source of info on it, which would explain its functioning by example (like first this message goes from A to B, then that goes from B to A). These technologies include:

  • DNS or legacy NetBIOS (possibly over ethernet called NBF or over TCP/IP, called NBT) naming system for computers. In fact, when Windows asks you for a computer name and tells that it shouldn't be longer than 15 symbols, it implies NetBIOS name.
  • Name resolution and replication mechanism, BIND for DNS or WINS server (nmbd in SAMBA) for NetBIOS name resolution.
  • Shares browsing mechanism, including funky election of master browser among the machines, based on their uptime and causing lags; this works unless a dedicated master browser is configured, see Network browsing.
  • Authentication and authorization mechanism; includes multiple elements and options, supporting tons of legacy mechanisms, see this for Microsoft.
  • Integration with Directory Services for Roaming User Profile support. SMB is used in 2 main cases: Workgroups and Domains. When you have a home network, all the computers are equal and your user accounts are different at each machine; in that case access to shares is either in per share or per user mode of protection. Large company networks often allow users to login to any computer with his login and password and access his profile and data. This is also called a Domain. Windows stores domain data in specialized machines, called Domain Controllers, which run Microsoft implementation of Directory Services, called Active Directory system, to store the accounts info.

In principle, Active Directory is a superset of LDAP and you can learn about LDAP e.g. from IBM tutorials. Here's also a nice set of videos about functioning of Active Directory.

7
  • I try to mount C$ administrative share, but it doesn't work. mount.cifs //my_IP/c$ /mnt/c -o user=my_user gives the following message: mount error(13): Permission denied. I tried also without $ character: mount.cifs //my_IP/c /mnt/c -o user=my_user, but it gives: mount error(6): No such device or address. Standard test shares works fine. Aug 19, 2015 at 15:18
  • @patryk.beza Did you try to prepend sudo? I guess, mounting might require it. Aug 19, 2015 at 17:29
  • Yes. I'm root (su - command) when I try to mount it. Aug 20, 2015 at 20:46
  • @patryk.beza I don't have many ideas. Is your windows share located on a machine, running some new version of windows, e.g. windows2008? Samba has poor support for them. Is your share's name in english, not some national language? Are permissions on the windows side ok? Also just try googling mount error(13) - there's a lot of info on forums. Aug 21, 2015 at 13:42
  • 2
    @patryk.beza Windows 10 support might just not be implemented in this version of SAMBA yet. On your windows machine, you need advanced sharing turned on, firewall turned off, windows professional edition, not home edition. See this: superuser.com/questions/328461/… Aug 22, 2015 at 22:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .