<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg>
讯享网
现在公司需要进行一个开发项目,需要使用Linux主机和Windows主机的用户一起完成,因此需要架设一台文件服务器来实现不同操作系统类型的终端之间资源共享。
(1)文件和打印机共享
文件和打印机共享是Samba的主要功能,通过SMB进程实现资源共享,将文件和打印机发布到网络之中,以供用户访问。
(2)身份验证和权限设置
smbd服务支持user mode和domain mode等身份验证和权限设置模式,通过加密方式可以保护共享的文件和打印机。
(3)名称解析
Samba通过nmbd服务可以搭建NBNS(NetBIOS Name Service)服务器,提供名称解析,将计算机的NetBIOS名解析为IP地址。
(4)浏览服务
局域网中,Samba服务器可以成为本地主浏览服务器,保存可用资源列表,当使用客户端访问Windows网上邻居时,会提供浏览列表,显示共享目录,打印机等资源。
Samba服务功能强大,其通信主要基于SMB协议,SMB协议不仅提供目录和打印机共享,还支持认证、权限设置。
(1)把Linux系统下的文件共享给Windows系统,在Linux系统下访问Windows系统的共享文件;
(2)把Linux系统下安装的打印机共享给Windows系统使用,在Linux系统下访问Windows系统的共享打印机。
Samba有两种服务:
(1)nmbd服务,监听137和138UDP端口。
该服务使其他计算机可以浏览Linux服务器,其功能是进行NetBIOS名解析,并提供浏览服务,显示网络上的共享资源列表。
(2)smbd服务,监听139TCP端口。
该服务主要功能是用来管理Samba服务器上的共享目录、打印机等,主要是针对网络上的共享资源进行管理的服务。当要访问服务器时,要查找共享文件,这时需要需要smbd来管理数据传输。
Samba采用客户端/服务器端架构模式。当客户端访问服务器时,信息通过SMB协议进行传输,其工作过程可以分为4个步骤。
(1)协议协商
客户端client访问samba服务器,先发送negprot指令数据包,告知samba其支持SMB类型,samba选择最优的SMB 类型并回应。

讯享网
(2)建立连接
Client发送session setup指令数据包,提交账号和密码,请求与samba连接,若通过验证,samba做出回应,并分配唯一的UID与client通信。

(3)访问共享资源
Client访问samba共享时,发送tree connect指令数据包,通知samba需要访问的共享资源名,若允许,samba会为client与共享资源连接分配TID,client就可以访问共享资源。

(4)断开连接
共享使用完,client向samba发送tree disconnect关闭共享,与samba断开连接。

讯享网
(1)编辑主配置文件smb.conf,指定需要共享的目录,并为共享目录设置共享权限。
(2)在smb.conf文件中指定日志文件名称和存放路径。
(3)设置共享目录的本地系统权限。
(4)重新加载配置文件或重新启动SMB服务,使配置生效。
(5)关闭防火墙,同时设置SELinux为允许。
(1)客户端请求访问Samba服务器上的Share共享目录。
(2)Samba服务器接收到请求后,会查询主配置文件smb.conf,看是否共享了Share目录,如果共享了这个目录则查看客户端是否有权限访问。
(3)Samba服务器会将本次访问信息记录在日志文件之中,日志文件的名称和路径都需要我们设置。
(4)如果客户端满足访问权限设置,则允许客户端进行访问。

在/etc/samba目录中,主配置文件名为smb.conf。在该目录中还有一个配置文件为smb.conf.example,该文件包括更加详细的配置信息,RHEL7的smb.conf配置文件已经简化,同时Samba开发组按照功能的不同,对smb.conf文件进行了分段划分。
global为全局配置

homes为共享信息配置

可以存储客户访问Samba服务器的信息以及错误的提示,通过日志可以帮忙解决客户端访问和维护的问题。
在/etc/samba/smb.conf文件中,log file为设置samba日志的字段。如下所示:
log file = /var/log/samba/log.%m
如果公司有多个部门,因工作需要,就必须分门别类地建立相应部门的目录。要求将销售部的资料存放在Samba服务器的/companydata/sales/目录下集中管理,以便销售人员浏览,并且该目录只允许销售部员工访问。
首先,模拟三台主机,分别为一台Samba共享服务器,两台客户端分别为linux系统和windows系统,配置IP地址为同一网段,网络连接方式为VMnet1(仅主机模式)
讯享网

讯享网
SELinux一共有三种模式,分别为:
Enforcing:强制模式。违反SELinux规则的行为将被阻止并记录到日志中。
Permissive:宽容模式。违反SELinux规则的行为只会被记录到日志中。
Disabled:关闭SELinux。
讯享网
将Samba加入到防火墙的允许服务
restart和reload都可以,restart是对整个Samba服务重启,reload是重新记载配置文件。
讯享网
打开“文件资源管理器”,在路径中输入192.168.10.1,等一会弹出对话框,输入对应的Samba用户名和密码,验证通过后,即可访问共享资源。
在Linux客户端进行测试时,需要先安装两个包:一个是跟客户端相关的samba-client包,另一个是跟挂载相关的cifs-utils包。
(1)Linux客户端使用smbclient命令访问服务器
① smbclient列出目标主机共享目录列表。
其格式为:
smbclient -L 目标IP地址或主机名 -U 登录用户名%密码
当查看RHEL7-1(192.168.10.1)主机的共享目录列表时,提示输入密码,这时候可以不输入密码,而直接按“Enter”键,这样表示匿名登录,然后就会显示匿名用户可以看到的共享目录列表。
讯享网
若想使用samba账号查看samba服务器端共享的目录,可以加上-U参数,后面跟上用户名%密码。下面的命令显示只有sale2账号(其密码为)才有权限浏览和访问的sales共享目录。
smbclient //目标IP地址或主机名/共享目录 -U 用户名%密码
讯享网
mount -t cifs //目标IP地址或主机名/共享目录名称 挂载点 -o username=用户名
挂载192.168.10.1主机上的共享目录sales到/mnt/sambadata目录下,cifs是samba所使用的文件系统。
配置与测试Samba服务器主要有以下几个步骤:
1.设备准备
服务端:一台Samba服务器(Linux系统)
客户端:一台Linux系统主机,一台Windows系统主机。
2.建立目录和用户等
建立共享目录;
建立用户或组,并且添加为Samba用户。
3.修改主配置文件smb.conf
在配置之前,先做备份。
主要配置global全局信息和建立共享信息字段。
4.设置共享目录的本地权限
5.禁掉SELinux和关闭防火墙
6.重新加载Samba服务
7.Windows客户端测试
8.Linux客户端测试
smbclient命令访问
或挂载访问
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/147764.html