文章目录

  • 前言
  • 一 Samba服务
  • 1.1 SMB协议
  • 1.2 CIFS协议
  • 1.3 Samba项目
  • 1.4 Samba软件包构成
  • 1.5 CentOS 7光盘中,安装包文件
  • 1.6 Samba服务器的主要程序
  • 1.7 Samba的配置目录及文件
  • 1.8 smb.conf文件的配置内容
  • 1.9 辅助配置内容
  • 二 Samba服务
  • 2.1 第一部分 用户访问
  • 2.2 第二部分 Linux访问
  • 2.3 挂载共享目录到本地使用
  • 总结



前言

在Windows网络环境中,主机之间进行文件和打印机共享是通过微软公司自己的SMB/CIFS网络协议实现的。在部署Windows,Linux/UNIX混合平台的企业环境时,选择Samba可以很好的解决不同系统之间的文件互访问题。


一 Samba服务

1.1 SMB协议

Server Message Block,服务消息块

1.2 CIFS协议

Common Internet File System,通用互联网文件系统

1.3 Samba项目

http://www.samba.org

1.4 Samba软件包构成

samba-client-libs-4.4.4-9.el7.x86_64
samba-common-libs-4.4.4-9.el7.x86_64 
samba-client-4.4.4-9.el7.x86_64
samba-common-4.4.4-9.el7.noarch

1.5 CentOS 7光盘中,安装包文件

samba-4.4.4-9.el7.x86_64.rpm

例如:

[root@client1 ~]# rpm -qa | grep samba
samba-common-4.6.2-8.el7.noarch
samba-client-4.6.2-8.el7.x86_64
samba-libs-4.6.2-8.el7.x86_64
samba-client-libs-4.6.2-8.el7.x86_64
samba-common-libs-4.6.2-8.el7.x86_64

samba企业任务 讲述samba的工作流程_samba

1.6 Samba服务器的主要程序

smbd:提供对服务器中文件、打印资源的共享访问
nmbd:提供基于NetBIOS主机名称的解析(定位主机)
访问时需要做映射,名字翻译成IP,一个主机名对应一个IP

1.7 Samba的配置目录及文件

/etc/samba/
/etc/samba/smb. conf
配置文件检查工具: testparm
  1. 安装Samba
[root@client1 ~]# yum -y install samba*

samba企业任务 讲述samba的工作流程_samba_02


2.启动程序

[root@client1 ~]# systemctl start smb  启动smbd
[root@client1 ~]# netstat -anpt | grep mbd

netstat:查看系统的网络连接状态,路由表,接口统计等信息
-a:显示所有连接
-n:以数字形式显示
-p:显示进程号或程序名
-t:tcp协议

[root@client1 ~]# systemctl start nmb   启动nmbd
[root@client1 ~]# netstat -anptu | grep mbd

samba企业任务 讲述samba的工作流程_samba_03

1.8 smb.conf文件的配置内容

[global]: 全局设置
[homes]: 用户目录共享设置
[printers]: 打印机共享设置
[myshare]:自定义名称的共享目录设置。

1.9 辅助配置内容

注释行:以#号开头的行
配置样例行:以;号开头的行
结合grep命令可以提取有效配置行
grep -v "^#" smb.conf | grep -v "^;" | grep -v ^$

例如:

[root@client1 ~]# vi /etc/samba/smb.conf

samba企业任务 讲述samba的工作流程_服务器_04

二 Samba服务

2.1 第一部分 用户访问

1,创建两个用户

[root@client1 ~]# useradd limsi
[root@client1 ~]# useradd wangsi

2.创建成samba用户

[root@client1 ~]# pdbedit -a -u limsi
[root@client1 ~]# pdbedit -a -u wangsi

samba企业任务 讲述samba的工作流程_samba企业任务_05

samba企业任务 讲述samba的工作流程_共享目录_06


3,创建一个共享目录

[root@client1 ~]# mkdir /share
[root@client1 ~]# cd /share
[root@client1 share]# vi m.txt  编辑两个文件
[root@client1 share]# vi n.txt
[root@client1 share]# cd

samba企业任务 讲述samba的工作流程_linux_07


samba企业任务 讲述samba的工作流程_服务器_08


4,配置权限

[root@client1 ~]# chmod -R 777 /share/
[root@client1 ~]# cd /share
[root@client1 share]# ls -lh

samba企业任务 讲述samba的工作流程_samba_09

5,设置samba的主配置文件

[root@client1 ~]# vi /etc/samba/smb.conf
[root@client1 ~]# systemctl restart smb  smbd服务重启
[root@client1 ~]# systemctl restart nmb  nmbd服务重启

添加
[share]
         comment = share directory(共享文件夹)
  路径   path = /share
是否可见 public = yes
  读权限 valid users = limsi, wangsi
  写权限 write list = limsi

samba企业任务 讲述samba的工作流程_linux_10

  1. 进行验证
    在Window的文件搜索栏里输入命令\20.0.0.12
    输入用户名,密码

    查看到有一个同名的账户文件[home],一个共享目录文件

samba企业任务 讲述samba的工作流程_linux_11


可以查看文件

samba企业任务 讲述samba的工作流程_共享目录_12


但是不能写入

samba企业任务 讲述samba的工作流程_linux_13


在另一个Window上进行操作

先查看网络是否与目标网络在同一个网段

samba企业任务 讲述samba的工作流程_samba_14


在命令提示符中尝试通信

samba企业任务 讲述samba的工作流程_linux_15


在文件搜索栏中输入命令\20.0.0.12

输入用户名limsi

密码 123456

samba企业任务 讲述samba的工作流程_共享目录_16


同样发现一个同名的账户文件,一个共享文件目录

可看,可写,可下载

samba企业任务 讲述samba的工作流程_服务器_17


samba企业任务 讲述samba的工作流程_服务器_18

samba企业任务 讲述samba的工作流程_共享目录_19


samba企业任务 讲述samba的工作流程_linux_20

2.2 第二部分 Linux访问

[root@server2 ~]# smbclient //20.0.0.12/share -U wangsi  登录到客户机
smb: \> ls
smb: \> put anaconda-ks.cfg 
smb: \> get n.txt
smb: \> exit

samba企业任务 讲述samba的工作流程_samba企业任务_21

[root@server2 ~]# smbclient //20.0.0.12/share -U limsi
smb: \> get 新建文本文档.txt 
smb: \> get m.txt
smb: \> put m.txt

samba企业任务 讲述samba的工作流程_共享目录_22

2.3 挂载共享目录到本地使用

[root@server2 ~]# mkdir /myshare
[root@server2 ~]# mount -o username=limsi //20.0.0.12/share /myshare
[root@server2 ~]# df -Th

samba企业任务 讲述samba的工作流程_服务器_23

[root@server2 ~]# cd /myshare
[root@server2 myshare]# ls -lh

samba企业任务 讲述samba的工作流程_共享目录_24


总结

通过以上对Samba相关知识的了解,可以由此解决不同系统之间的文件互访问题。