环境:
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组
----在samba中创建账户:smb1~3 (密码为4321) ,可以利用smbpasswd来修改密码.
3.配置samba配置文件:
vi /etc/samba/smb.conf
测试配置文件是否有语法错误:
说明:
----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.设定欲共享的目录:
注意:除了配置文件之外,详细的目录权限与账号设定等规范也要设定好!
4.重启samba,让配置生效:
5.利用本机来测试samba:
----匿名账号访问:
----smb1访问:
使用smb1挂载共享目录,并在共享目录下新建文件,再查看共享目录中是否有新增了相关文件:
利用同网段的windows客户端去访问samba服务器:
6.挂载windows的共享目录:
7.配置完成.
说明:若遇到问题,请从smb.conf的权限设定,selinux.iptables是否开放了对应端口和网络的访问和linux文件系统的权限着手来解决问题.
转载于:https://blog.51cto.com/luyx30/1224233