Windows IT Pro is the leading independent community for IT professionals deploying Microsoft Windows server and client applications and technologies.
  
  
  Advanced Search 


April 2001

Learning Samba for File Sharing


RSS
Subscribe to Windows IT Pro | See More Interoperability Articles Here | Reprints | Or get the Monthly Online Pass—only $5.95 a month!

Partnering a Linux server with Win2K clients

The need for reliable, secure, and cost-effective file storage has long been a prime concern of network administrators. Microsoft's provision for this need was Windows NT Server, which uses NT security domains to give administrators fine-grain control over file access. This product's sophisticated security and Windows's domination of the desktop-world make using the Windows OS to meet your file-server needs a natural choice. However, Windows isn't the only choice.

Samba is an advanced suite of software that provides file- and print-sharing services and NetBIOS name-server support to clients who use the Server Message Block (SMB) protocol or the Common Internet File System (CIFS) protocol. The Free Software Foundation's GNU's Not UNIX (GNU) Public License governs this free and open-source software. Samba runs on sev-eral platforms, including MVS, UNIX, Linux, and VMS. To begin learning about Samba's remarkable capabilities, you can install and configure Samba as a simple standalone file server for your Windows 2000, NT, and Windows 9x clients.

Why would you want to run Samba instead of Windows? First, Samba will run on Linux, which means that you can run free software on a free OS. These $0 items will look good on your next budget request, especially when you consider that as your network grows, you can add users also free of charge. Another benefit of using Samba and Linux is their reliability: Uptime for Linux servers can be several years, and many application and network appliance providers already rely on Samba's stability as an integral aspect of their products.

If your clients use TCP/IP to access an NT-based file server, you can use Samba with a Linux file server to meet their file-server needs. Samba also supports domain-based authentication and authorization; however, configuring Samba to operate within the security environment of an NT domain adds a higher level of complexity to your configuration. Samba works equally well within traditional SMB/CIFS workgroups. If you don't need the security that NT domains provide, you can set up simple file services with the processes described in this article. If you do need the security, you can use this article to give you the core knowledge that you can use to configure Samba as a more complex file server.

Understanding the Linux File System
Before you proceed with Samba installation on Linux, you need to understand how the Linux file system works. The Linux file system is similar to NTFS: Both file systems have a root directory, subdirectories, and files that represent distinct units of data. However, the Linux file system doesn't use drives; Linux file systems are mounted on directories under the root directory. Permission sets and directory and file ownership determine which users have read, write, and execute privileges.

Like Windows file systems, Linux file systems use various directories for specific purposes. Some important Linux directories to know are the /etc directory, which houses most Linux service configuration files, and the /home directory, which houses users' home directories. The root user has a home directory in the /root directory. Most popular distributions of Linux use scripts that you find in the /etc/rc.d/init.d directory to start up and shut down.

Samba Installation
I run Red Hat Linux, which comes with Samba preinstalled. If this is the case with your Red Hat compatible Linux distribution (e.g., Caldera Systems, Turbolinux, SuSE Linux), to start with a clean state, you need to use the rpm command as the root user (i.e., the Linux administrator account) to uninstall Samba as follows:

# rpm -e —nodeps samba
# rpm -e —nodeps samba-common
# rpm -e —nodeps samba-client

You can download the latest version of Samba in the form of a RedHat Package Manager (RPM) file at http://us2.samba.org/samba/ftp/Binary_Packages. (RPM files are binary distribution files that ease software installation and removal. They contain all the files you need to run a given program. You use the rpm command to manage these files.) As Figure 1 shows, your Linux distribution determines which Samba distribution you'll install. After you download Samba, you need to use the rpm command as the root user to install the program, as demonstrated below:

# rpm -i samba-<x.x.x.>rpm

The installed files will include /etc/smb.conf, the configuration file; /etc/rc.d/init.d/smb, the startup file; and /usr/bin and /usr/sbin files for various programs.

This Samba installation method might differ for your Linux distribution. Look for a Samba release that your Linux vendor maintains and supports, or install Samba from source code.

Samba Configuration
The /etc/smb.conf file lets you set all Samba configurations—including security settings, workgroup settings, and share definitions—from a central location. (If your Samba distribution installs a sample smb.conf file, move the example configuration file to another location or rename it to /etc/smb.conf.bak.) The configuration file's four main section types—global, printers, homes, and user-defined—each configure a specific service.

The global section defines the global characteristics of Samba, such as its NetBIOS name and associated workgroup. Administrators employ user-defined sections, which take the section-name the administrator gives them, to share specific directories or printers. When you configure Samba to provide file services to Windows, you work in the global and user-defined sections. The printers and homes sections share all printers and home directories, respectively, but these sections don't allow much administrator customization.

All sections in the smb.conf file begin with a section name in brackets. In each section, you can use equate statements to set the values of the parameters:

[<section name>]
<parameter> = <value>

Most Samba parameters have sensible defaults, so you need to specify only those parameters that you want to tune for your specific application of Samba.

   Previous  [1]  2  3  4  5  Next 


Top Viewed ArticlesView all articles
Battery Life Issues Almost Certainly Not Windows 7's Fault

While Microsoft is still investigating a notebook battery life issue that was supposedly caused by Windows 7, some interesting trends have emerged. ...

Confirmed: Battery Life Issues Not Windows 7's Fault

Microsoft on Monday issued a lengthy statement about the recent Windows 7 battery controversy, echoing my assessment from earlier in the day, but backing it up with hard, cold evidence. Put simply, Windows 7 is not responsible for any battery life issues ...

Getting your iPhone to Sync with Exchange 2003

Follow these steps to use an iPhone with Exchange. ...


Windows OSs Whitepapers Protecting Microsoft SharePoint

Related Events Deep Dive into Windows Server 2008 R2 presented by John Savill

Windows, Unix, Linux Interoperability

Check out our list of Free Email Newsletters!

Windows OSs eBooks Understanding and Leveraging Code Signing Technologies

A Guide to Windows Certification and Public Keys

SQL Server Administration for Oracle DBAs

Related Windows OSs Resources Introducing Left-Brain.com, the online IT bookstore
Looking for books, CDs, toolkits, eBooks? Prime your mind at Left-Brain.com

Discover Windows IT Pro eLearning Series!
Clear & detailed technical information and helpful how-to's, all in our trademark no-nonsense format


Windows IT Pro Home Register FAQ for Windows WinInfo News
Europe Edition About Us Contact Us/Customer Service Media Kit Affiliates / Licensing  
SQL Server Magazine Office & SharePoint Pro DevProConnections IT Job Hound
Left-Brain.com Technology Resource Directory asp.netPRO ITTV Windows SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 © 2010 Penton Media, Inc. Terms of Use | Privacy Statement