First, make sure the correct Samba packages are installed:
#> rpm -qa |grep samba
samba-client-3.0.28-1.el5_2.1
samba-3.0.28-1.el5_2.1
samba-common-3.0.28-1.el5_2.1
system-config-samba-1.2.39-1.el5
If these are not installed, use yum to grab them and install
them.
You may need to open ports in the system firewall so that
all of this will work. The ports that
need to be open for Samba to work are:
139 and 445
It’s easiest to do this from your RedHat gui (System >
Administration > Security Level and Firewall).
Next, set up the smb service to run at boot time:
#> chkconfig smb on
In RedHat, this will also cause the nmb service to run,
which is fine.
Now, start Samba:
#> service smb start
Now, create the directory you want to share. For this example, I will make it simple:
#> mkdir /dv1
Set permissions accordingly.
In my scenario, I wanted our developers to all be able to access this
directory from Windows, and they were all part of the ‘developers’ group on my
RedHat server, so I set the permissions like so:
#> chown developers.developers /dv1
#> chmod 755 /dv1
In order to get Samba to share this directory, I had to add
the appropriate policies for SELinux, which are mentioned in the smb.conf
file. Assuming you are running SELinux
(it’s default with RedHat Enterprise 5), these can be added at the command
line.
Since you created a new directory that will be shared with
Samba (the ‘dv1′ directory you created earlier), a label must be set for that
as well. Using ‘dv1′ as the directory
name, run this:
To set a label use the following:
#> chcon -t
samba_share_t /dv1
Now to configure the Samba configuration file. Always make a backup of the original before
editing any config file!
#> cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
To edit the config file, do this:
#> nano /etc/samba/smb.conf
Under [global] settings, uncomment the necessary lines and
make changes so that it looks something like this:
workgroup = YourWindowsWorkgroupName
server string = YourRedhatServerName
netbios name = YourRedhatServerName
hosts allow = 127.0.0.1 192.168.1.
Leave everything else in that section the way it is.
Note: the
192.168.1. address needs to be that of
your local network.
Then under Standalone Server Options:
security = user
passdb backend =
tdbsam
I commented out all Printer sharing crap since I didn’t use
any of that.
Lastly, under Share Definitions:
[homes]
comment = Home
Directories
browseable =
no
writeable =
yes
; valid users =
%S
; valid users =
MYDOMAIN\%S
;[printers]
; comment = All
Printers
; path =
/var/spool/samba
; browseable =
no
; guest ok = no
; writeable = no
; printable =
yes
[dv1]
comment = My
dog has fleas
path = /dv1/
valid users = user1,user2,user3
public = no
writeable =
yes
create mask =
0765
Obviously, swap out user1,user2,user3 with the users who
will be accessing this share. You put
the username for the RedHat box you are on, not the Windows username (unless
it’s the same).
Save the file and go back to the command line. Test it out
by running this:
#> testparm
You shouln’t see any error reported. If all is good, run this:
#> service smb restart
You will see smb and nmb stop and restart. There should be no errors or “FAILED”
notices.
Assuming your users already have accounts on your RedHat
box, you need to add them to Samba like so:
#> smbpasswd -a username
New SMB password:
Retype new SMB password:
I set a temporary password here, then ask them to change it
next time they log into the server at the command line by running this:
#> smbpasswd
It will prompt them for their old password (the temporary
one you just gave them), and for the new one.
Once all that is done and you have set your own Samba
password, you should be able to do this from Windows:
Go to Start and select Run.
Type in the hostname of your RedHat server (which you specified in the
smb.conf file) like so:
\\YourRedhatServerName
You will be prompted for a username and password, and you
should enter the RedHat server login name and the Smaba password that you just
created.
If all goes well, a window will appear which shows the dv1
directory. You can now drag, drop, copy,
and paste to and from this folder as if it were on your Windows machine!
No comments:
Post a Comment