CentOS Samba服务器的搭建与配置(share共享模式)

  1. 云栖社区>
  2. 博客>
  3. 正文

CentOS Samba服务器的搭建与配置(share共享模式)

技术小甜 2017-11-08 16:13:00 浏览574
展开阅读全文

Samba服务介绍

      在早期的网络世界当中,档案数据在不同主机之间的传输大多是使用 ftp 这个好用的服务器软件来进行传送。不过使用 FTP 传输档案却有个小小的问题, 那就是你无法直接修改主机上面的档案数据!也就是说,你想要更改 Linux 主机上面的某个档案时,你必须要将该档案自服务器下载后才能修改。 也因此该档案在服务器与客户端都会存在。这个时候,万一如果有一天你修改了某个档案, 却忘记将数据上传回主机,那么等过了一阵子之后,呵呵,你如何知道那个档案才是最新的?
      简单来说,ftp是作为一个文件传输的工具,而samba服务就是实现一个文件实时共享的一个服务。在平常工作中,我们一般实现平台之间文件共享的场景有如下几种:Linux服务器-->Linux服务器,Linux服务器-->Windows服务器,Windows-->Linux服务器。既然场景不同,尤其是跨平台的文件共享,就必须选择正确的服务。

      一般情况,我们选择以下几个服务来解决以上的问题:

Linux服务器的文件共享给Linux服务器:NFS服务

Linux服务器的文件共享给Windows服务器:Samba服务

Windows服务器的文件共享给Linux服务器:这里可以直接采用将windows的共享文件路径挂载至Linux的目录下,即可访问Windows下的文件(这里不得不小小地吐槽一下Windows机器。。)

共享模式的配置(无需账户密码)

    在这个模式中,如果在局域网内足够安全,或者不是特别重要的文件的互访,那么这个模式的配置是十分简单和迅速的。下面开始配置。

【1】安装samba服务

#yum install samba -y

【2】修改配置文件

# cd /etc/samba
# cp smb.conf smb.conf.bak 备份一份再说
# vim smb.conf 把多余的注释去掉,增加如下的配置

# 先设定好服务器整体环境方面的参数
[global]
# 与主机名有关的设定信息
workgroup    = WORKGROUP #要和windows在一个工作组里 
netbios name  = xiao
server string = This is Yumi's samba server
# 与登录文件有关的设定项目,注意变量 (%m)
log file = /var/log/samba/log.%m
max log size = 50
# 这里才是与密码有关的设定项目!
security = share

# 分享的资源设定方面:
[temp]                            #分享资源名称
comment   = Temporary file space  #简单的解释此资源
path      = /tmp                  #实际 Linux 分享的目录
writable  = yes                   #是否可写入?在此例为是的
browseable = yes                  #能不能被浏览到资源名称
guest ok  = yes                   #单纯分享时,让用户随意登入的设定值

修改完成后,保存退出。

【3】testparm 检查 smb.conf 的语法是否正确

#testparm

当出现有一下这句话时Loaded services file OK.说明当前配置正确,如有错误根据提示修改直到无误。

【4】启动服务并查看端口

#/etc/init.d/smb start
#netstat -tplnu | grep smb
tcp        0      0 0.0.0.0:445                0.0.0.0:*                  LISTEN      6604/smbd          
tcp        0      0 0.0.0.0:139                0.0.0.0:*                  LISTEN      6604/smbd          
tcp        0      0 :::445                      :::*                        LISTEN      6604/smbd          
tcp        0      0 :::139                      :::*                        LISTEN      6604/smbd

默认的139和445端口起来就启动成功了

【5】设置SMB开机自动启动

#chkconfig smb on

 

=========================================================================================

以下为故障及解决方法:(没有问题的同学人品杠杠滴,恭喜恭喜)

 

 

 

 

samba文件服务器可以通过\\IP访问samba服务器,

现在想通过\\主机名访问,提示"找不到网络路径".怎么办?

一、服务端:

Samba的核心是两个守护进程smbd和nmbd,服务器启动到停止期间持续运行。smbd监听139 TCP端口;nmbd监听137和138 UDP端口。smbd和nmbd使用的全部配置信息全都保存在smb.conf文件中。smb.conf向smbd和nmbd两个守护进程说明输出什么、共享输出给谁及如何进行输出以便共享。smbd进程的作用是处理到来的SMB数据包,为使用该数据包的资源与Unix 进行协商,nmbd进程使其他主机(或工作站)能浏览Unix服务器。

首先设置成开机启动smb 和nmb

1 要想开机启动某个服务怎么设置?~!

chkconfig smb on

chkconfig --level 35 smb on

chkconfig nmb on

chkconfig --level 35 nmb on

2.如图:

135340370.jpg


把netbios name = ""设置好

 

最后在访问\\linux计算机名

135539850.jpg

 

 

 

 

 

 

一、客户端:

有一次设置一个打印机的共享,因为是在局域网内,为了防止共享打印机的机器更改IP以后其它机器连接不上,于是想用计算机名来连接,设置完以后发现被共享的打印机可以在其它机器上用IP访问到,但是就是不能用计算机名访问,后来在网上搜索了很久终于解决了,以下是具体解决的步骤:

一、第一步先观望

看看局域网中其它机器有没有相同的问题。

看看这台电脑日志里面是怎么写的,尽量不要盲目而动。

工作组模式看看是否在同一组内。

二、检查相关服务是否开启

我的电脑——右键管理——服务——“Computer Browser”看看这个服务有没有启动。

网上邻居——属性——本地连接——属性——“网络的文件和打印机共享”看看这个服务有没安装。

三、检查是否启用TCP/IP上的NETBIOS

网上邻居——属性——本地连接——属性——TCP/IP——高级——WINS——“启用了TCP/IP上的NETBIOS”

检查一下确认启动。

四、检查防火墙等

控制面板——防火墙

控制面板——管理工具——本地安全策略——IP安全策略

检查有没有傻乎乎的开防火墙。

五、清除缓存,尝试连接

开始——运行——cmd.exe 进入命令行模式。

输入nbtstat -c 这个命令可以清空名称缓存。

输入nbtstat -n 这个命令可以列出名称列表

输入nbtstat -a 对方的IP 强制查询对方的机器名 如 nbtstat -a 192.168.0.13

然后就可以用计算机名访问了

一般的情况下只需要进行到第四步就能解决问题了,我检查前四步里面的设置都没有问题,一直进行到第五步才将问题解决,我当时的情况是用一要网线直接将两台电脑连接起来的,设置上IP以后我就直接进行访问了,然后就发现只能用IP进行访问,不能用计算机名访问共享。在这里一定要注意的是看重启以后还能不能用计算机名访问,如果还是不可以访问的话建议你只能重新系统了。















本文转自younger00851CTO博客,原文链接: http://blog.51cto.com/younger008/1903138,如需转载请自行联系原作者




网友评论

登录后评论
0/500
评论
技术小甜
+ 关注