思维导图:
1. Samba服务概述
1.1 smb/CIFS协议
- smb:Service Message Block
- cifs:Common Internet Filesystem
- smb协议也叫cifs协议
1.2 NetBIOS协议
- NetBIOS:网络基本输入输出协议
- 作用:主机名解析(NetBIOS所支持的主机名最长不能超过15个字符)
- 工作方式:
- Windows的本地网络主机名称解析服务以广播的方式在工作
- 以广播的方式探测整个网络内有多少主机对这个协议是支持的,而后去请求解析得到对方的主机名
- 等NetBIOS解析完毕后,才通过SMB协议实现文件系统共享
1.3 功能
- 文件系统共享
- 打印机共享
2. Samba程序结构
2.1 程序结构
1)服务端程序包
- 程序包:
- samba
- samba-common
- samba-libs
- 安装:
- yum install samba -y
2)主程序
- nmbd:
- NetBIOS name server 实现NetBIOS协议的
- smba:
- SMB/CIFS services 实现文件共享
2.2 端口&配置
1)监听的端口
- nmbd:137/udp、138/dup
- smbd:139/tcp、445/tcp
2)主配置文件
- /etc/samba/smb.conf
- 由samba-common包提供
3)Unit File
- smb.service
- nmb.service
- 注意:在用systemctl启用samba服务时,上面的两个服务都要启用
2.3 客户端程序
1)smbclient
- 作用:
- 交互式命令行客户端,类似于lftp
- 查看Server端的共享:
- 参数:
- -L netbios 可以使用netbios,也可以直接指定主机名
- -U username 指定以哪个用户的身份去访问,如果不指定用户名,则默认以匿名用户访问
- 示例:
- smbclient -L 10.0.0.201 查看此主机上的所有smb共享,以匿名用户的身份访问
- 参数:
- 登录:
- 语法:smbclient //主机/共享名 -U 用户名
- 示例:smbclient //10.0.0.201/smbuser1 -U hgzero
2)mount.cifs
- 直接挂载使用
- 挂载cifs文件系统的专用命令
3)与windows主机之间实现共享
4. Samba服务的配置
4.1 配置文件
- 配置文件:/etc/samba/smb.conf
- 配置文件语法检测:testparm
4.2 全局配置
4.3 共享文件系统配置[ SHARED_NAME]
5. Samba用户管理
6. Samba服务共享的查看
- 查看Server端的共享
- smbclient -L SMB_SERVER [ -U USERNAME ]
- 交互式文件访问:
- smbclient //SMB_SERVER/SHARE_NAME [ -U USERNAME ]
- 挂载访问:
- smbclient -t cifs //SMB_SERVER/SHARE_NAME /mnt -o username=USERNAME,password=PASSWORD
- 注意:挂载操作的用户,与-o选项中指定的用户直接产生映射关系,此时,访问挂载点,是以-o选项中的username指定的用户身份进行的
- smbstatus:
- 作用:显示samba服务的相关共享的访问状态信息
- 参数:
- -b:显示简要格式信息
- -v:显示详细格式信息