You can just use Places -> Network GUI menu in Gnome to access your share. Alternatively, you can open a terminal and use
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
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.