CentOS下Samba服务的配置
本文源于网络上的各种教程,但是结合自己的实际情况,个别细节的地方修改了一下。
www.zhishiwu.com
虽然简单,但是我相信好记性不如烂笔头,先记录下来,方便大家,也方便自己。
Samba是Linux与Window实现网络共享的一种常用方法。
一旦配置好了,Windows用户就可以访问Linux服务器的共享目录,
实现跨系统的文件传输。
与FTP相比,Samba更加灵活,方便。
下面给出在CentOS下配置Samba服务器的两种方法。
如果个人研究,请使用方法1,如果是正式的开发,请参照方法2。
■方法1: 不限制用户的方式(不安全)
确认需要安装的rpm:
1 www.zhishiwu.com
~# rpm -qa|grep samba
2
samba-client-3.5.10-114.el6.i686
3
samba-3.5.10-114.el6.i686
4
samba4-libs-4.0.0-23.alpha11.el6.i686
5
samba-winbind-3.5.10-114.el6.i686
6
samba-winbind-clients-3.5.10-114.el6.i686
7
samba-common-3.5.10-114.el6.i686
8
# 如果没有的话,需要重新安装
首先给linux设一个ip,要和windows是一个网段的
1 www.zhishiwu.com
~# mkdir /share ---------------在根下创建文件夹(除了root的目录下不能创建其他都可以)
2
~# chmod 777 /share/ ------------给share文件夹赋权
3
~# vi /etc/samba/smb.conf ------------(编辑samba下的smb.conf文件)
编辑 security = share ----------一般在第58行
编辑最后面的 286 [weihaiyang]
287 comment = share
288 path =/share
289 valid users = nobody
290 public = yes
291 writable = yes
292 printable = no
293 create mask = 0765 (前面的数字是行数)
1 www.zhishiwu.com
~# service smb restart #重启smb服务
然后在windows下的“运行”里输入linux的//ip就OK了
■方法2: 带有用户认证的方式(CentOS 6.2)(安全,适用于生产环境)
1.配置防火墙
使用Samba服务器的话,需要开放一下端口:
UDP 137
UDP 138
TCP 139
TCP 445
1
# vi /etc/sysconfig/iptables # 配置防火墙端口
2
-A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
3
-A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
4
-A INPUT -m state --state NEW -m tcp -p tcp --dport 137 -j ACCEPT
5
-A INPUT -m state --state NEW -m tcp -p tcp --dport 138 -j ACCEPT
6 www.zhishiwu.com
7
~# service iptables restart # 重启防火墙
2.检查Samba包是否已经安装
1
~# rpm -qa|grep samba
2
samba-winbind-clients-3.5.10-114.el6.x86_64
3
samba4-libs-4.0.0-23.alpha11.el6.x86_64
4
samba-client-3.5.10-114.el6.x86_64
5
samba-common-3.5.10-114.el6.x86_64
说明Samba已经安装,如果没有安装,运行下面的命令
1
~# rpm -ivh samba-3.5.10-114.el6.x86_64.rpm
2
samba4-libs-4.0.0-23.alpha11.el6.x86_64.rpm
3
samba-client-3.5.10-114.el6.x86_64.rpm
4
samba-common-3.5.10-114.el6.x86_64.rpm
5
samba-winbind-3.5.10-114.el6.x86_64.rpm
6 www.zhishiwu.com
samba-winbind-clients-3.5.10-114.el6.x86_64.rpm
上面的命令在实际执行的时候没有换行的,请在一行内完成
3.配置Samba
1
~# chkconfig smb on # 设置samba开机启动
2
~# service smb start # 启动Samba服务
3
~# service smb restart # 再启动Samba服务
4
~# service smb stop # 停止Samba服务
备份配置文件:
1
~# cp /etc/samba/smb.conf /ete/samba/smb.confbak
编辑配置文件:
01
~# vi /etc/samba/smb.conf
02
[global] #找到这一行,全局配置标签,在此行下面前景如下内容
03 www.zhishiwu.com
workgroup = WORKGROUP # 工作组名称改为Windows网络所定义的工作组名
04
server string = Samba Server # 设置Samba服务器的主机名称
05
security = user # 设置Samba服务器安全级别为user,即已账号和口令访问
06
#在配置文件的末尾添加下面的自定义内容
07
[SambaServer]
08
comment = SambaServer #在Windows网上邻居中看到的共享目录的名字
09
path = /home/SambaServer #共享目录在系统中的位置
10
public = no #不公开目录
11
writable = yes #共享目录可以读写
12
valid users = SambaUser #只容许SambaServer用户访问
保存配置
4.添加访问Linux共享目录的账号SambaServer
用户目录为 /home/SambaServer,用户登陆终端设置为/bin/false(使之不能登陆)
1 www.zhishiwu.com
~# cd /home
2
~# mkdir SambaServer
3
~# cd SambaServer
4
~# touch samba.txt #建立测试文件
5
~# useradd SambaServer -d /home/SambaServer -s /bin/false
6
~# chown SambaServer:SambaServer /home/SambaServer -R
5.将用户SambaServer加入到Samba用户数据库中,并设置登陆共享目录的密码为:123456
view sourceprint?
1
~# smbpasswd -a SambaServer
2
New SMB password: #输入该用户用于登陆Samba的密码
3
Retype new SMB password: #再次输入该密码
4
Added user SambaServer
5
# 特别注意: 这里设置的密码是用户登陆Samba共享目录的密码,不是用户登陆Linux系统的密码
www.zhishiwu.com
6.重启Samba服务
1
~# service smb restart
7.在Windows客户端访问
输入 //ip 或者 //Samba Server #服务器的名称
回车之后,会跳出来登陆框,输入用户名:SambaServer,密码:123456
即可访问共享目录。
以上,CentOS下,Samba服务器的配置完成。
作者 Kevin Xin