An Introduction to Samba

 <  Day Day Up  >  

Test Objective Covered:

3. Describe the purpose and architecture of Samba.

If you've never used Samba before, you're in for a real treat. Samba is an Open Source service that allows your Linux operating system to participate in a Microsoft Windows network.

It can be configured such that your Linux server emulates a Windows server. In this mode, you can configure share points for directories in your file system. Users running Windows on their desktop systems can map drives to the shares as if they were on a typical Windows server. In Figure 8.30, you can see a Linux server running Samba displayed in the Workgroup Windows workgroup.

Figure 8.30. Samba server in Network Places.

graphics/08fig30.jpg


The Samba service can also operate in client mode. Using Samba, your Linux server can mount Windows shares or shares on other Samba servers.

In this book, we're going to configure our NNLS system with Samba to provide file storage services for Windows client workstations. Why would we want to do this? There are a few reasons:

  • Deploying Samba can be considerably less expensive than deploying Windows servers. Licenses for Windows servers are very expensive. Depending on the distribution you're using, deploying Samba on a Linux server can cost as little as, well, nothing!

  • Because of the stability of Linux, using Samba instead of a Windows server can dramatically increase the reliability of your network. As much as you may like Windows servers, it's an acknowledged fact that they aren't as stable as we would like them to be ( especially Windows NT!).

    In fact, most Windows system administrators make a practice of rebooting their servers periodically. If you don't, it's not a question of if the Windows server will experience problems, it's a question of when .

    Linux, on the other hand, is extremely stable. It's a lot like NetWare in this respect. You can leave it running for years on end without rebooting. By deploying Samba, you get the functionality of a Windows file server with the reliability of Linux. This makes for a very nice implementation!

  • On most hardware, Samba is much more scalable and much faster than a Windows server. With only a few users, both systems perform on a roughly equal basis. However, when the load increases , Samba runs two to three times faster than Windows. For detailed test results from a series of tests run by PC Magazine , visit http://www.pcmag.com/article2/0,1759,17201,00.asp on the Web.

In order to implement Samba, you need to understand the protocols Samba uses to provide file access.

Samba Protocols

Samba relies on the same underlying protocol as Windows: the Server Message Block (SMB) protocol. IBM originally developed SMB in the mid-1980s. IBM didn't do much with the concept and, in 1987, Microsoft picked up SMB and developed it into the widely deployed protocol that it is today. Support for SMB has been included in every version of Windows since Windows 95.

SMB uses a simple client/server network model. SMB clients request services from an SMB server. SMB servers respond with the requested service. It's that simple.

SMB allows network clients to access files on a remote computer. The SMB protocol exists at the Presentation and Application layers of the OSI model. As such, it runs on top of most basic network communication protocols, including TCP/IP, IPX, and NetBEUI. In addition to file access, SMB allows remote clients to use a given host's printers as well as to request services from any network application that is SMB-aware.

If you've ever configured a Windows server, you know that it uses two security levels. This is actually a function of the SMB protocol. SMB defines the following:

  • Share-level security ” In the share-level security model, each share on the server has its own password. Any user can access the share (and the files and subdirectories it contains) as long as he or she supplies the correct password.

  • User-level security ” The user-level security model is similar to the Linux (and NetWare) file security model. Every user must authenticate to the server. Then, access to each file and directory in the file system is based on its assigned permissions.

To access a file server using SMB, the client workstation must run SMB client software. For the purposes of this book, we're going to use the Microsoft Client for Microsoft Networks.

The version of the SMB protocol used by Samba isn't the same version as that implemented by Windows servers. Many years ago, Microsoft released an Open Source version of SMB called the Common Internet File System (CIFS) protocol. Samba uses CIFS to provide its service. The good news is that SMB and CIFS are completely compatible. When a connection is initially established, the SMB/CIFS client negotiates with the SMB/CIFS server to establish a common protocol. This allows Linux and Windows operating systems to interoperate in a network.

Let's now talk about the NNLS version of Samba.

Samba in NNLS

Samba is not unique to NNLS. Samba is an Open Source service that can be downloaded from any number of websites . In fact, most Linux distributions include a version of Samba.

While installing NNLS, however, you probably noticed that your existing version of Samba was removed and a new version was installed. As you can see in Figure 8.31, the smb init script has been replaced with a script called novell-smb .

Figure 8.31. Novell's Samba service.

graphics/08fig31.jpg


So, what's the difference between other versions of Samba and the one that comes with NNLS? Samba in NNLS has been customized to work with eDirectory through LDAP to support LUM users in the tree. Using the NNLS version, Samba can use encrypted LDAP communications to authenticate users.

With that in mind, we need to discuss how to install and configure Samba.

 <  Day Day Up  >  


Novell Certified Linux Engineer (CLE) Study Guide
Novell Certified Linux Engineer (Novell CLE) Study Guide (Novell Press)
ISBN: 0789732033
EAN: 2147483647
Year: 2004
Pages: 128
Authors: Robb H. Tracy

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net