一 Samba简介
早期的Unix系统中通过NFS让所有的Unix系统之间可以实现资源共享,
微软推出了SMB(server message block)通信协议让系统间可以实现资源共享,
由于Windows的SMB未公开,所以Unix与Windows 之间实现资源共享,基本只能通过FTP来实现,FTP尽管好用,带也有些不足,无法直接修改主机上面的档案数据,只能下载之后进行修改,如果要进行修改上传文件,也只能先下载,并再次上传,
Samba 这个自由软件的推出,让类Unix系统可以加入到Windows 网络中,利用SMB协议与windows 系统之间实现资源共享等相关功能, 实现了类Unix与Windows之间资源共享与访问。
二 Samba主要提供的功能及工作方式
1 功能
1 在类Unix与Windows之间实现资源共享(目录。打印机和ZIP、CDROM)
2 用户的认证和授权
3 使用WINS(Windows的名称解析服务)服务进行名称解析及浏览
2工作方式
Samba 的两个进程
Nmbd :此进程主要是nmb服务,使用的是UDP的137/138端口,主要进行NETBIOS名称解析,并提供浏览服务显示网络上的共享资源列表
Smbd :主要是smb服务,使用TCP的139 、445端口,主要管理Samba服务器上的共享目录、打印机等,是对网络上的共享资源进行管理的服务
3 Samba服务器与客户端之间的交互流程
1 协议协商,客户端在访问Samba服务器时,发送negport命令包,告诉目标计算机器支持的SMB类型。Samba 服务器根据客户端的情况,选择最优的SMB类型,并作出应答
2 建立连接: 当SMB类型确认后,客户端发送session setup 命令数据包,提交账户信息,请求与Samba服务器建立连接,如果客户端通过身份验证,Samba服务器会对session setup 报文作出回应,并为用户分配唯一的UID,再客户端与其通讯
3 访问共享资源:客户端访问Samba 共享资源时,发送 tree connect 命令数据包,通知服务器需要访问的共享资源名,如果设置允许,Samba 服务器会为每个客户与共享资源的连接分配TID,客户端即可访问需要的共享资源
4 断开连接:共享完成后,客户端向服务器发送 tree disconnect 报文关闭共享。
四 安装和启动Samba服务器
五 配置Samba
1 创建Samba用户
此用户必须是Linux真实存在的用户
2 进行登录测试
3 配置客户端的登录测试
4 在客户端进行挂载操作
5 配置文件修改,修改工作组名称
6 不允许某些用户访问
注销则允许访问
7 配置文件共享
1 创建文件
2 配置配置文件
3 重启服务
4 查看文件共享情况
5 在共享文件夹下创建文件
6 开启文件夹的标签
7 进行测试
8 挂载
9 自动挂载的配置
10 设置guest用户
可以不用密码进行挂载并自动挂载
11 增加对共享文件的写功能
12 创建共享用户组
创建MySQL用户并将其加入admin组中使其可以访问共享文件
配置只有admin用户由此权限进行编辑,mysql用户无此权限
配置此组内的用户有此权限
配置管理用户使其可以访问,其对文件本身不具备访问权限,但在使用该用户挂载后可以进行任何操作
配置文件中间不能有空格
13 隐藏共享文件名
配置只有此用户可以挂载
14 配置其组内用户可以挂载
六 Samba 多用户挂载
1 安转软件cifs-utils 客户端安装并运行
七 扩展
共享选项
1 comment : 对共享目录进行注释说明
2 writable :用户对共享目录是否可写,需要注意的是,即使这里设置为yes ,用户对Linux中对应目录没有写权限,也不能进行写操作
3 browseable : 设置用户是否可以浏览到该共享目录(将browseable 设置为no,目录将隐藏,但通过直接输入共享目录命令,仍可以访问该共享目录)
4 vaild users ; 可以访问共享目录的用户列表
5 invalid users : 禁止访问共享目录的用户列表
6 create mode : 在共享目录重创建文件时,对文件的权限进行设置,(如设置为0664)
7 diectory mode: 在共享目录中创建目录时设置权限属性
8 readonly: 设置共享目录为只读形式
9 public : 设置共享目录是否允许匿名访问
10 guest ok : 与 public相同
11 writable : 设置为yes,表示该共享目录允许写操作,与此选择项具有相同作用的还有write ol 选项
12 read only : 设置是否只读,若设置为 no ,与 writable = yes 的意思相同
13 read list ; 只能以读权限访问共享目录的用户列表
14 write list ; 具有写权限的用户列表,无论writable 和 read list 中设置的是什么,在选项设置中都局写权限
转载于:https://blog.51cto.com/11233559/2048252