一、安装samba
rpm -Uvh samba-3.0.28-0.el5.8.i386.rpm
rpm -Uvh samba-client-3.0.28-0.el5.8.i386.rpm
rpm -Uvh samba-common-3.0.28-0.el5.8.i386.rpm
二、修改/etc/sysconfig/selinux
selinux=disable
在/usr/sbin中
setsebool -P samba_enable_home_dirs=1
重启系统生效。
三、Samba基础
Samba服务的主配置文件:/etc/samba/smb.conf
Samba服务的密码文件:/etc/samba/smbpasswd
Samba服务的日志文件:/var/log/samba/*.log
Samba共享文件夹的权限是靠samba配置文件和liunux系统的文件夹权限共同控制的。配置的时候一定要注意。
四、使用samba共享Linux文件夹
介绍对Samba的三种典型配置方法
  pub - 不需要密码,且可读写及删除文件。
  read-only - 不需要密码,但只可以读取文件。
  user1 - 需要密码,可读写及删除文件。
 
步骤如下:
1. 首先以root身分登录进入系统
2. 建立系统用户
新增三个linux系统用户,分别是pub,read-only,user1。
可以使用shell命令,也可以使用图形界面,系统—>管理—>用户和组群完成这一步。
三个用户对应主目录分别是
/home/pub/
/home/ read-only /
/home/ user1/
分别赋权限:
chmod 777 pub
chmod 755 read-only
chmod 700 user1
3. 建立三个samba用户对应系统用户
smbpasswd –a pub
smbpasswd –a read-only
smbpasswd –a user1
系统会提示指定samba用户密码,密码可自己指定
完成后,打开/etc/samba/smbpasswd文件,可以看到新增的samba用户
4. 配置主配置文件:/etc/samba/smb.con
找到[global]节点,修改安全性:
security = share    ----注意去掉前面的注释‘;’
然后在结尾处增加:
[pub]
comment = Public Areas
path = /home/pub
browseable = yes
guest ok = yes
writable =yes
 
[read-only]
comment = Read-Only Areas
path = /home/read-only
browseable = yes
guest ok = yes
 
[user1]
comment = Password Required
path = /home/user1
browseable = yes
writable = yes
保存退出
5. 重行运行Samba:终端运行命令 service smb restart
五、访问共享文件夹:
在Windows文件浏览器中,我们要通过\\IP或域名\共享目录名查看,而在Linux的Gnome文件浏览器中查看的方式是 smb://域名或ip地址/共享目录名。
 
本例中的三个目录,在windows中访问:
pub不需要要用户名密码,有读写权限;
read-only不需要用户名密码,有只读权限;
user1需要密码验证(因为security = share,所以不需要验证用户名),输入步骤三中第3条设定的samba用户的users1密码即可读写访问。
 
如果在/etc/samba/smb.conf 中设为 security = user ,则共享文件夹都需要用户名和密码的验证。
 
另外,如果按下面操作可以将staff   pub二个组和用户biao分别加入到staff组中。
创建本地账号和账号组
useradd   staff
passwd   staff
useradd  -G  staff  user1
passwd  user1
useradd  -G  staff  user2
passwd  user2
添加Samba账号
smbpasswd  -a  user1
smbpasswd  -a  user2
创建本地共享目录
mkdir  /home/staff
设置属主和目录权限
chown  staff:staff  /home/staff
chmod  777  /home/staff
修改配置文件vi  /etc/samba/smb.conf
[staff]
comment = staff user
path = /home/staff
public = yes
writable = yes
write  list  =  @staff  @pub  biao