How to install Samba
server on CentOS 6
Part
1: Configuring anonymous share with samba server
To install the samba package,enter
the following command:
sudo yum install samba samba-client samba-common
Check the version of
installed samba software by using this command:
smbd --version
Configure the samba
service, so that, it will start automatically at boot time:
sudo chkconfig smb on
sudo chkconfig nmb on
Disable the SELinux:
sudo nano /etc/selinux/config
Change SELinux
from enforcing to disabled:
SELINUX=disabled
Add these Iptables
rules, so that samba will work perfectly:
sudo iptables -I INPUT 4 -m state --state NEW -m udp -p udp --dport
137 -j ACCEPT
sudo iptables -I INPUT 5 -m state --state NEW -m udp -p udp
--dport 138 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -m tcp -p tcp
--dport 139 -j ACCEPT
sudo service iptables save
Restart the Server!!!
Go to your Windows
machine and use this command in order to check the WORKGROUP name:
net config workstation
It will show the output,
something like this:
Backup the smb.conf
file, then delete it and create the new one:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo rm /etc/samba/smb.conf
sudo touch /etc/samba/smb.conf
sudo nano /etc/samba/smb.conf
Add these lines, in
your smb.conf file (or change it according to your requirement):
#======================= Global Settings
=====================================
[global]
workgroup = WORKGROUP
security = share
map to guest = bad user
#============================ Share Definitions ==============================
[MyShare]
path = /samba/share
browsable =yes
writable = yes
guest ok = yes
read only = no
Save the smb.conf file
and restart the service:
sudo service smb restart
sudo service nmb restart
Access the samba share
from windows (where centos is the name of my samba server):
wao, we are able to
access the samba share successfully
Let’s try to create
something, inside the share folder:
Error, we cannot
create anything inside the share folder
Check the current permission
on the samba share:
cd /samba/
ls -l
Change it, in such a
way that everyone can read and write it(Check it, that it is allowed in
your environment or not):
sudo chmod -R 0777 share
ls -l
Try to create
something again, inside the share folder:
Verify the newly
created file on samba server:
cd share/
ls -l
Part 2: Add and
manage users and groups
Add a group in your
CentOS server (in my case smbgrp):
sudo groupadd smbgrp
Create a new share,
set the permission on the share:
cd /samba/
sudo mkdir secure
sudo chown -R arbab:smbgrp secure/
ls -l
sudo chmod -R 0770 secure/
ls -l
Add the user to the
samba group and create samba password:
sudo usermod -a -G smbgrp arbab
sudo smbpasswd -a arbab
Edit the smb.conf
file:
sudo nano /etc/samba/smb.conf
Add the newly created
samba share in smb.conf file:
[Secure]
path = /samba/secure
valid users = @smbgrp
guest ok = no
writable = yes
browsable = yes
Restart the samba
service:
sudo service smb restart
sudo service nmb restart
Check the syntax error
with testparm:
sudo testparm
Testing from Windows
Machine:
Verification from
CentOS server:
cd /samba/secure/
ls -l
Thanks for the explanation. It was helpful.
Linux classes in Pune