Samba服务原理
Samba服务程序现在已经成为在Linux系统与Windows系统之间共享文件的最佳选择。
SMB协议:高层协议
- 提供网络上不同主机之间共享文件。
- 为Window客户程序和服务提供了一个通过虚拟链路按照请求-响应方式进行通信的机制。
- SMB工作原理是让NetBIOS与SMB协议运行在TCP/IP上,从而让Linux系统在网络邻居中可见。
CIFS协议
- 通用网际文件系统是微软服务器消息块协议(SMB)的增强版
- 提供计算机用户在企业内部网和因特网上共享文件的标准方法
- CIFS在TCP/IP运行,利用英特网上的全球域名服务系统(DNS)增强其可扩展性
CIFS协议特点
- 文件访问的完整性
- 为慢连接优化
- 为文件或目录的访问提供安全性
- 使用同一编码(Unicode)文件名
- 使用全局文件名
Samba服务简介
- 应用程序,使Linux支持SMB/CIFS协议 。
- 可以运行在所有Unix平台上。
- Samba应用程序更新较快并是基于GPL协议发行的。
Samba功能
- Linux系统和Window系统实现资源共享
- 让Linux系统使用Window系统共享的文件和打印机
- 提供用户认证功能
- 支持SSL安全套接层协议
- 让Linux主机单位Window域控制和Window域成员服务器
- 让Linux主机担任Wins名字服务器,提供NetBIOS名字解析器
Samba提供服务
- 文件和打印机共享
- 用户认证和授权
- 名字解析
- 浏览(服务通信)
Samba的守护进程
- Smbd:实现共享和验证授权服务
- Nmbd:实现名字解析和浏览服务
Samba的软件包
- samba-common : 包括Samba服务器和客户端所需要的文件
- samba: Samba服务端软件
- samba-winbind: 可选的Window服务
- samba-client: 客户端软件
- samba-swat: Web配置工具
安装: [root@test ~]# yum install samba -y
Samba服务部署
第1步:创建用于访问共享资源的账户信息
[root@node1 ~]# useradd wangwu && pdbedit -a -u wanwu
pdbedit命令:
-a :建立Samba用户
-x 用户名:删除Samba用户
-L:列出用户列表
-Lv:列出用户详细信息的列表
-u:指定用户
第2步:创建用于共享资源的文件目录
[root@node1 ~]# mkdir /home/database
[root@node1 ~]# chown -Rf wangwu:wangwu /home/database
第3步:修改主配置文件
[root@localhost ~]# vim /etc/samba/smb.conf
添加如下配置:
[database]
comment = this is my test
path = /home/database
public = no
writable = yes
第4步:正确性检查
[root@node1 ~]# testparm --show-all-paraments
[root@node1 ~]# systemctl restart smb
[root@node1 ~]# netstat -lunt | egrep '137|138|139|445'
第5步:测试
Window挂载共享
在Window运行输入地址:\192.168.10.10
用户名:wangwu
密码:wangwu
Linux挂载共享
Samba提供了一个类似FTP客户程序的Samba客户程序smbclient
使用方法:smbclient //NetBIOS名或IP地址/共享名 -U 用户名
[root@node1 ~]# yum install samba-client -y
[root@node1 ~]# smbclient -L //192.168.10.10/database -U zhaohao #检查Samba资源
smbstatus命令:列出Samba的资源使用情况