SAMBA服务
大家好呀!这里是码农后端。今天来简单聊一聊SAMBA服务。SAMBA服务主要用于实现windows和Linux下的文件共享、打印共享等。
一、SAMBA文件共享
1、什么是SAMBA?
SMB(Server Message Block)协议实现文件共享,也称为CIFS(Common Internet File System),是Windows和类Unix系统之间共享文件的一种协议。客户端主要是Windows,支持多节点同时挂载以及并发写入
;主要用于windows和Linux下的文件共享、打印共享,实现匿名与本地用户文件共享
。
2、SAMBA主要进程
2.1 smbd进程
控制发布共享目录与权限、负责文件传输 ,TCP,139 445
2.2 nmbd进程
1)用于名称解析netbios,UDP,137 138 ;
2)基于NETBIOS协议获得计算机名称 => 解析为相应IP地址,实现信息通讯
NetBIOS(Network Basic Input/Output System),一般指用于局域网通信的一套API
3、SAMBA环境准备
1)从模板机中克隆一台Linux服务器SAMBA
2)更改主机名与IP地址
1 | # 更改主机名 |
注:如果是多张网卡,建议使用ifdown ens33以及ifup ens33实现重启网络操作
3)关闭防火墙与SELinux
1 | #关闭防火墙 |
4)配置yum源
有网情况下使用默认yum源即可
1 | yum clean all |
4、SAMBA软件安装
服务器搭建:
1 | # 安装软件 |
注:SAMBA是一个C/S架构的软件,Client主要是Windows
5、smb配置文件
了解一些大概的,会用即可。
1 | # 打开配置文件 |
6、SAMBA案例
搭建一个SAMBA服务,共享一个目录/samba/share,客户端使用user01/123,通过windows或Linux可以在该目录里创建或删除文件。
1)SAMBA服务器环境准备
更改主机名称、IP地址、关闭防火墙、SELinux、配置YUM源
2)安装SAMBA软件
1 | yum install samba -y |
3)查询SAMBA生成文件列表(rpm -ql)
1 | rpm -ql samba |
4)在服务器端创建一个共享目录
1 | mkdir /samba/share -p |
5)编辑配置文件(/etc/smb.conf),实现SAMBA共享
1 | vim /etc/samba/smb.conf |
注:guest ok 等价于 public
6)创建一个user01用户,然后添加到samba认证中,设置密码为123
1 | # 创建用户 |
上述操作完成后,SAMBA系统中就增加了一个user01的账号及123的密码
7)启动nmb与smb服务
1 | systemctl start nmb |
8)基于Windows或Linux实现文件共享
Windows:
a、首先安装SAMBA支持。打开控制面板 => 程序与功能选项。
b、找到Windows功能选项
c、安装SAMBA功能(客户端)
如下勾选上即可
d、进入计算机(此电脑)=> 映射网络驱动器
e、设置SAMBA服务器的地址信息:
192.168.91.10 => Linux服务器的IP地址
smb_share => 配置的SAMBA标签
问题:为什么挂载完成后,目录不可写?
答:由于/samba/share目录没有写入权限
解决:增加权限
1 | # 针对/samba/share目录设置一个权限 |
9)基于Linux或Linux实现文件共享
1 | smbclient -L 192.168.91.10 -U user01 |
使用smbclient查看目录信息
1 | smbclient //192.168.91.10/smb_share -U user01 |
把SAMBA挂载到Linux系统(类似NFS)
1 | mkdir /u01 |
访问控制说明:
1 | # 控制读写权限 |