CentOS下Samba服务的配置



CentOS下Samba服务的配置
 
本文源于网络上的各种教程,但是结合自己的实际情况,个别细节的地方修改了一下。
  www.2cto.com  
虽然简单,但是我相信好记性不如烂笔头,先记录下来,方便大家,也方便自己。
 
Samba是Linux与Window实现网络共享的一种常用方法。 
一旦配置好了,Windows用户就可以访问Linux服务器的共享目录, 
实现跨系统的文件传输。 
与FTP相比,Samba更加灵活,方便。 
下面给出在CentOS下配置Samba服务器的两种方法。 
如果个人研究,请使用方法1,如果是正式的开发,请参照方法2。 
 
 ■方法1: 不限制用户的方式(不安全) 
确认需要安装的rpm: 
1  www.2cto.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.2cto.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.2cto.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.2cto.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.2cto.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.2cto.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.2cto.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.2cto.com  
6.重启Samba服务 
1
~# service smb restart
 
7.在Windows客户端访问 
输入 \\ip 或者  \\Samba Server #服务器的名称 
回车之后,会跳出来登陆框,输入用户名:SambaServer,密码:123456 
即可访问共享目录。 
以上,CentOS下,Samba服务器的配置完成。
 
 
作者 Kevin Xin

相关内容

    暂无相关文章