环境:

distributions:Red Hat Enterprise Linux Server release 6.3

kernel:2.6.32-279.el6.i686

SAMBA:Version 3.5.10-125.el6

iptables默认策略为ACCEPT,SELinux为permissive.

目标:

配置一台可以供windows/linux客户端利用密码访问的共享samba服务器

安装配置:

1.安装所需软件:

yum –y install samba samba-client samba-common

2.新建Samba账户:

注意:Samba 使用者账号必须要存在于 Linux 系统当中 (/etc/passwd), 但是 Samba 的密码与 Unix 的密码档案并不相同 (这是因为 Linux 与网芳的密码验证方式及编码格式不同所致)。

我们需要透过 SAMBA 所提供的功能来进行 Linux 的存取,而 Linux 的存取是需要取得 Linux 系统上面的 UID 与 GID 的,因此,我们登入 SAMBA 服务器时,所利用 SAMBA 取得的其实是 Linux 系统里面的相关账号!这也就是说,在 SAMBA 上面的使用者账号,必须要是 Linux 账号中的一个!

----先在系统中建立三个账号:smb1,smb2,smb3  (密码为1234),加入smb组

p_w_picpath

p_w_picpath

----在samba中创建账户:smb1~3  (密码为4321) ,可以利用smbpasswd来修改密码.

p_w_picpath

3.配置samba配置文件:

vi /etc/samba/smb.conf

p_w_picpath

测试配置文件是否有语法错误:

p_w_picpath

说明:

----security = share, user, domain:三选一,这三个设定值分别代表:

  • share:分享的数据不需要密码,大家均可使用 (没有安全性); 

  • user :使用 SAMBA 服务器本身的密码数据库,密码数据库与底下的 passdb backend 有关; 

  • domain:使用外部服务器的密码,亦即 SAMBA 是客户端之意,如果设定这个项目, 你还得要提供『password server = IP』的设定值才行.

----分享资源的相关参数设定:

  • [分享名称] :这个分享名称很重要,它是一个『代号』而已。

  • comment :只是这个目录的说明而已!

  • path :这个分享名称实际会进入的 Linux 文件系统 (目录)。 也就是说,在网芳当中看到的是 [分享] 的名称,而实际操作的文件系统则是在 path 里头所设定的。

  • browseable :是否让所有的用户看到这个项目?

  • writable :是否可以写入?这里需要注意一下喔!那个 read only 与 writable 不是两个蛮相似的设定值吗?如果 writable 在这里设定为 yes ,亦即可以写入,如果 read only 同时设定为 yes , 那不就互相抵触了!那个才是正确的设定?答案是:最后出现的那个设定值为主要的设定! 

  • create mode 与 directory mode 都与权限有关的咯!

  • writelist = 使用者, @群组,这个项目可以指定能够进入到此资源的特定使用者。 如果是 @group 的格式,则加入该群组的使用者均可取得使用的权限.

3.设定欲共享的目录:

注意:除了配置文件之外,详细的目录权限与账号设定等规范也要设定好!

p_w_picpath

4.重启samba,让配置生效:

p_w_picpath

5.利用本机来测试samba:

----匿名账号访问:

p_w_picpath

----smb1访问:

p_w_picpath

使用smb1挂载共享目录,并在共享目录下新建文件,再查看共享目录中是否有新增了相关文件:

p_w_picpath

利用同网段的windows客户端去访问samba服务器:

p_w_picpath

6.挂载windows的共享目录:

p_w_picpath

p_w_picpath

7.配置完成.

说明:若遇到问题,请从smb.conf的权限设定,selinux.iptables是否开放了对应端口和网络的访问和linux文件系统的权限着手来解决问题.