Samba is a software package that comes with most Linux systems. Samba enables you to share file systems and printers on a network with computers that use the Server Message Block (SMB) or Common Internet File System (CIFS) protocols. SMB is the Microsoft protocol that is delivered with Windows operating systems for sharing files and printers. CIFS is an open, cross-platform protocol that is based on SMB. Samba contains implementations of both.
First, check if samba is not yet installed on your machine by running
# yum list | grep sambaif you see the line that looks like: samba-3.0.82 fedora it means that this package is part of the Fedora but not yet installed. In this case, install the last approved version of samba by running yum install samba
Now, please go to the /etc/init.d directory and make sure that the startup script for samba (smb) is there. Check the current status of the samba service by running service smb status. If the service is not running, start it by means of service smb start. If you do not want to manually start the service every time you reboot your system, configure it to run automatically. This can be done by using the chkconfig command:
# chkconfig --add smbNow, the smb service is running but we still cannot access it from outside because the ports for samba server are not open in firewall. Please run System/Administrations/Firewall

There are three ways of configuring samba server:
Samba configuration file is called smb.conf and located in the /etc/samba directory. This is a pure text file with a lot of comments that explain pretty much any detail of the file instruction. In order to practice with the file a little bit, let's create a directory that can be shared by some users.
[smbshare] comment = Public share path = /var/smbshare ; writeable = yes ; browseable = yes valid users = maryWhat we just entered means: we create a new smb share named smbshare (see square brackets), path to which is defined as /var/smbshare, the only user who can access it is mary. Please note the semicolon at the beginning of the writeable=no line. Semicolon means the same as the pound sign (£) – comments.
# smbpasswd -a maryand type a password for this user.
# service smb restart

# setsebool -P samba_export_all_ro=1 # setsebool -P samba_export_all_rw=1 # setsebool -P samba_enable_home_dirs=1
c:\> net use Q: \\192.168.183.128\smbshare /persistent:no /user:mary passwordInstead of password, use the password you entered at the prompt of the smbpasswd command when you were creating samba user mary.
A special program provides a nice window interface to samba configuration. In fact, this program does nothing but writing special instructions into the smb.conf file but it does it without typos :). To run the program, go to System/Administration and look for Samba tools. If it's not present, install it by
# yum install system-config-sambaOnce it's installed, run it and enter the root password at the prompt. You'll see a window like the one below

Samba Web Administration Tool (SWAT) is a samba configuration tool that can be accessed through any web browser. To install it, run yum install samba-swat. Once installed, we need to turn the swat service on by running chkconfig swat on and actually starting it. The difference between the swat service and other services we have looked at is that the swat service is executed through the xinetd service. Thus, in order to start it, we have to restart the xinetd. This can be done by service xinetd reload. If the swat service successfully started, we can now access it through a web browser.
To configure samba server through the web interface, start a web browser from your Linux machine and go to the

In order to access Windows share from your Linux machine, you need to use the mount command with appropriate file system specified and the full address of the network share. Let's test this by doing the following:
# mount -t cifs -o username=your_login> //ip_of_windows_machine/winshare /mnt/smb