微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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进行访问,不能用计算机名访问共享。在这里一定要注意的是看重启以后还能不能用计算机名访问,如果还是不可以访问的话建议你只能重新系统了。

原文地址:https://www.jb51.cc/centos/378521.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。