Samba
Samba is a suite of utilities that allows your Linux box to share files and other resources, such as printers, with Windows boxes.
Edit the /etc/samba/smb.conf as follows
cat smb.conf
[global] workgroup = Ubuntu netbios name = Ubuntu server string = %h server (Samba, Ubuntu) dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d encrypt passwords = true passdb backend = tdbsam obey pam restrictions = yes invalid users = root passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* . socket options = TCP_NODELAY [sharedata] comment = Test share directory = /stage read only = no hide unreadable = yes # settings for recycle bin vfs objects = recycle recycle:repository = /stage/shared-recycle/ recycle:noversions =2 [secretdata] directory = /stage/jeeva browseable = no valid users = jeeva
Swat
SWAT, Samba's web based configuration tool enables you configure your smb.conf file without you needing to remember all the formatting. Each SWAT screen is actually a form that covers a separate section of the smb.conf file into which you fill in the desired parameters. For ease of use, each parameter box has its own online help. SWAT immediately changes the functioning of Samba whenever you commit your changes through the web GUI.
The enabling and disabling, starting and stopping of SWAT is controlled by xinetd, via a configuration file named /etc/xinetd.d/swat. Here is a sample:
service swat
{
port = 901
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/swat
log_on_failure += USERID
disable = no
only_from = localhost
}
The default configuration only allows SWAT web access from the console of Samba server as user root on port 901. This means you'll have to enter "http://127.0.0.1:901" in your browser to get the login screen.
You can make SWAT accessible from other servers by adding IP address entries to the only_from parameter of the SWAT configuration file. Here's an example of an entry to allow connections only from 192.168.1.3 and localhost. Notice that there are no commas between the entries.
only_from = localhost 192.168.1.3
Samba Client tasks
To list all the shared directoris in a system called test1
# smbclient -L [system name|iPaddress] --user <user_name>
To mount a shared windows directory share1 to local unix system
# mount -t smbfs -o username=<user_name>,password=<Passwd>,uid=<local_user_name>, gid=<local_gid> //windows-system_name/share1
To automatically mount a windows share on a linux system, add the following line to the /etc/fstab file
//<IPaddress>/share_name <mount_point> cifs \ username=<uname>,password=<passwd>,uid=500,gid=500,file_mode=0644,dir_mode=0755 1 2
To keep the user name and password in a separate file instead of giving it on /etc/fstab file
//<IPaddress>/share_name <mount_point> cifs \ credentials=<file_name>,uid=<uid_number>,gid=<gid_number>,file_mode=0644,dir_mode=0755 1 2 //192.168.123.25/data /pcdata cifs credentials=/data \ /etc/cifs.secret,uid=500,gid=500,file_mode=0640,dir_mode=0750 1 2 # cat file_name username=test1 password=testpasswd uid=500 gid=500