所需环境:Vmware、虚拟机两台(以CentOS7.5为例)
工作原理:
1、由Samba客户端向Samba服务器端发送包含使用的协议版本等信息的数据请求包,当服务器收到数据请求包后对数据包中的内容进行确认,
如果Samba服务器没有响应客户端的请求则本次会话请求连接失败。
2、当数据请求包的信息被Samba服务器确认后,服务器就向客户端发送建议使用的协议版本、端口等相关信息。
3、客户端在收到来自服务器端的信息后,开始根据服务器的要求确认自身的信息,然后向服务器发送认证信息并等待服务器的响应,如果服务器端响应客户端的请求,则本次会话请求连接成功,否则,则本次会话请求连接失败。
4、客户端与服务器端成功建立会话连接后,客户端就可以通过相应的命令访问所需的资源。
samba服务器部署(将samba服务器端目录/WHT共享,共享名为myshare,共享可以浏览,允许用户aa和用户bb访问用户aa具有只读权限,bb具有读写权限)
一、服务端
1、安装samba服务器所需的软件包
yum -y install samba samba-client
2、新建一个共享目录/WHT并在该目录新建文件稍后测试
mkdir /WHT
3、编辑samba配置文件
vim /etc/samba/smb.conf
4、新建samba用户aa和bb并设置密码123
useradd -s /sbin/nologin aa
useradd -s /sbin/nologin bb
smbpasswd -a aa-------------->123
smbpasswd -a bb--------------->123
5、修改共享目录context值
semanage fcontext -a -t samba_share_t '/WHT(/.*)?'
restorecon -Rv /WHT
6、设置权限,保证samba用户的访问权限和服务设置的权限一致
setfacl -m u:aa:r-x /WHT/
setfacl -m u:bb:rwx /WHT/
7、启动samba服务并设置开机自启
systemctl start smb nmb
systemctl enable sbm nmb
8、设置防火墙
firewall-cmd --add-service=samba --permanent
firewall-cmd --add-service=samba-client --permanent
firewall-cmd --add-service=mountd --permanent
firewall-cmd --reload
二、客户端
1、samba服务器共享资源挂载到本地目录下
mkdir /TEST
2、
yum -y install samba-client cifs-utils
3、借助多用户给普通用户权限
vim /etc/fstab
//192.168.121.202/myshare /TEST cifs multiuser,username=bb,password=123,sec=ntlmssp 0 0(192.168.121.202为samba服务器的IP地址)
mount -a
三、测试
如samba服务器搭建成功,使用客户端的挂载点/TEST目录中应该会有之前在服务端所创建的3个file文件。
进入客户端输入-------->cd /TEST-------->ls
使用Windows系统下命令Win+R进入如下图界面(必须为英文反斜杠\,IP地址为samba服务器主机的IP地址)
输入用户名和密码(例:用户名为:bb,密码:123)
出现共享目录中的文件,即为成功搭建,可通过samba服务器实现虚拟机与Windows之间文件传输或者局域网传输文件