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
# 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.如图:
把netbios name = ""设置好
最后在访问\\linux计算机名
一、客户端:
有一次设置一个打印机的共享,因为是在局域网内,为了防止共享打印机的机器更改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进行访问,不能用计算机名访问共享。在这里一定要注意的是看重启以后还能不能用计算机名访问,如果还是不可以访问的话建议你只能重新系统了。
原文链接:https://www.f2er.com/centos/378521.html