配置与管理Samba服务器(详细教程)
目录一、基础理论
二、samba工作流程
三、项目实训
3.1目标
3.2准备工作
3.2.1服务器安装samba服务软件包
3.2.2客户端安装软件包
3.3配置Samba服务
3.3.1开启Samba服务,并设置开启自启动
3.3.2创建共享文件夹
3.3.3创建群组
3.3.4修改文件用户权限
3.3.5修改配置文件
3.3.6设置samba服务用户
3.3.7让samba服务被安全上下文允许使用
3.4测试效果
Windows客户端(Win 10)
Linux客户端
一、基础理论
samba开始在Linux和Windows两个平台之间架起了一座桥梁,正式由于Samba的出现,我们才可以在Linux系统和Windows系统之间互相通信,如复制文件,实现不同操作系统之间的资源共享等,可以将其架设成一个功能非常强盛的文件服务器,也可以将其架设成打印服务器提供本地和远程联机打印,甚至可以使用Samba Server完全取代NT/2K/2K3中的域控制器,对域进行管理也非诚方便。
Samba服务功能强盛,这与其通信基于SMB协议有关。SMB不但提供目录和打印机共享,还支持认证,权限设置。在早期,SMB运行与NBT协议上,使用UDP的 137、138、端口,后期SMB经过开发,可以直接运行与TCP/IP上,没有额外的NBT层,使用TCP的445端口。
二、samba工作流程
[*]协议协商。 客户端在访问Samba服务器时,发送negprot指令数据包,告知目标盘算机其支持的SMB类型,Samba服务器根据客户端的情况,选择最优的SMB类型并做出回应
[*]创建毗连。 当SMB类型确认后,客户端会发送session setup 指令数据包,提交账号和暗码,哀求与Samba服务端创建毗连,假如客户端通过身份验证,Samba服务器会对session setup报文做出回应,并为用户分配唯一的UID,在客户端与其通信时使用
[*]访问共享资源。 客户端访问Samba共享资源时,发送tree connect 指令数据包,关照服务器需要访问的共享资源名,假如设置允许,Samba服务器会为每个客户端与共享资源毗连分配TID,客户端即可访问需要的共享资源
[*]断开毗连。 共享使用完毕,客户端服务器发送tree disconnect报文关闭共享,与服务器断开毗连
三、项目实训
3.1目标
利用samba服务实现linux和linux及windows主机之间进行文件资源的共享
而且模拟企业真实部门情况,对各部门进行权限管理分配
3.2准备工作
linux服务器(IP:192.168.1.2/24)
linux客户端(IP:192.168.1.3/24)
windows客户端(IP:192.168.1.100/24)
所有主机在同一局域网内,而且保证网络连通性
安装samba软件包
3.2.1服务器安装samba服务软件包
使用yum命令查看Samba服务软件包信息
https://img-blog.csdnimg.cn/direct/8fa0ae1f8f45489bb05d902097db7c08.png
使用yum命令安装服务器Samba服务
https://img-blog.csdnimg.cn/direct/e53b2c5647bf4343b7ed42cd598de622.png
使用 rpm -qa |grep samba 查询是否成功安装
https://img-blog.csdnimg.cn/direct/fe886dc9950d40488ca4837d31871da1.png
服务器安装用户软件包“samba-client.x86_64”
https://img-blog.csdnimg.cn/direct/aa56f893c9b34e8097028a3d04abd4c9.png
3.2.2客户端安装软件包
使用yum install samba-client.x86_64 -y安装客户机samba软件包
https://img-blog.csdnimg.cn/direct/f059f4b84e984a3e9f95fadb349e299a.png
https://img-blog.csdnimg.cn/direct/813950fc72e14cd9b96c62b21283f352.png
3.3配置Samba服务
3.3.1开启Samba服务,并设置开启自启动
https://img-blog.csdnimg.cn/direct/f0330be3002e4011a6cc6c0114e7ec9a.png
允许防火墙通过Samba服务
https://img-blog.csdnimg.cn/direct/9adc15779b474892ba1d42929e9192d2.png
https://img-blog.csdnimg.cn/direct/f2012aea95fd4411bc5dbff852421512.png
3.3.2创建共享文件夹
在server上创建共享文件夹和其子文件夹
创建7个文件夹(四个组文件)
mkdir /share-----------------------------------------------------------创建默认共享文件夹(默认共享)
mkdir /share/system-------------------------------------------------------------------------系统组文件夹
mkdir /share/develop---------------------------------------------------------------------------开发组文件
mkdir /share/test---------------------------------------------------------------------------------测试组文件
mkdir /share/product------------------------------------------------------------------------产品测试文件
mkdir /share/developandtest----------------------------------------------------开发和测试共享文件
mkdir /share/public--------------------------------------------------------------------------------临时文件
mkdir /share/ziliaoku---------------------------------------------------------------------------资料库文件
https://img-blog.csdnimg.cn/direct/62d8b8b28ad04496928896534651e80e.png
3.3.3创建群组
groupadd system---------------------------------------------------------------------------------创建系统组
groupadd develop--------------------------------------------------------------------------------创建开发组
groupadd test--------------------------------------------------------------------------------------创建测试组
groupadd product--------------------------------------------------------------------------------创建产品组
https://img-blog.csdnimg.cn/direct/0d9e0069279c48ff828ef7fe37d52a09.png 创建相应用户并分别组
https://img-blog.csdnimg.cn/direct/09bbaa3e051543f3b53868985d08d54c.png
更改文件所有者和所属组
https://img-blog.csdnimg.cn/direct/a29ee028e0074ee9a814c17cc25f41fb.png
3.3.4修改文件用户权限
https://img-blog.csdnimg.cn/direct/2f6051fa7d8745049510307ae2c0ff4e.png
使用setfacl命令准确修改共享文件权限
用法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } 文件路径...
-m, --modify-acl 更改文件的访问控制列表
-M, --modify-file=file 从文件读取访问控制列表条目更改
-x, --remove=acl 根据文件中访问控制列表移除条目
-X, --remove-file=file 从文件读取访问控制列表条目并删除
-b, --remove-all 删除所有扩展访问控制列表条目
-k, --remove-default 移除默认访问控制列表
--set=acl 设定替换当前的文件访问控制列表
--set-file=file 从文件中读取访问控制列表条目设定
--mask 重新盘算有效权限掩码
-n, --no-mask 不重新盘算有效权限掩码
-d, --default 应用到默认访问控制列表的操作
-R, --recursive 递归操作子目录
-L, --logical 依照系统逻辑,跟随符号链接
-P, --physical 依照天然逻辑,不跟随符号链接
--restore=file 规复访问控制列表,和“getfacl -R”作用相反
--test 测试模式,并不真正修改访问控制列表属性
-v, --version 显示版本并退出
-h, --help 显示本资助信息
https://img-blog.csdnimg.cn/direct/98797764ead34857a01ecccd38f941cb.png
查看修改后的/share/system文件具有的权限
https://img-blog.csdnimg.cn/direct/07e0e225b5d14922a9789401ae687c2d.png
3.3.5修改配置文件
修改samba的主配置文件:vim /etc/samba/smb.conf
https://img-blog.csdnimg.cn/direct/6e6f798a69524029a7da332dc584d95c.png
重启samba服务
https://img-blog.csdnimg.cn/direct/b210081de0e640a3af3e36b26d9121c6.png 3.3.6设置samba服务用户
将用创建的四个用户添加到samba用户(同一暗码:123456)
smbpasswd -a user1(回车后直接输入暗码)
smbpasswd -a user2(回车后直接输入暗码)
smbpasswd -a user3(回车后直接输入暗码)
smbpasswd -a user4(回车后直接输入暗码)
https://img-blog.csdnimg.cn/direct/5b47a6ce2f6b444cb7e6e17b460c40d0.png
3.3.7让samba服务被安全上下文允许使用
chcon -t samba_share_t /share/ -R---更改共享目录的context值大概禁用SELinux
https://img-blog.csdnimg.cn/direct/c6ab2daadcf84c2c9f37daf52e416bde.png
大概:
https://img-blog.csdnimg.cn/direct/343f513c1db44ce6abbedbc16ed16962.png
3.4测试效果
Windows客户端(Win 10)
在“启用或关闭windows”功能里开启有关SMB的这几项
https://img-blog.csdnimg.cn/direct/ad96b3db9c9e4ce8a869a263a134ad56.png
按Win+R 输入\\192.168.1.2 即可访问
https://img-blog.csdnimg.cn/direct/5fc518ede2aa4a66961d41e6d16cc8f2.png
输入账号/暗码(这里使用“user2/123456”进行验证)
https://img-blog.csdnimg.cn/direct/7863001e7869498781e05f562cbead1e.png
进入samba空间
https://img-blog.csdnimg.cn/direct/00d9fc6fa701411282e8a52669d89bab.png
https://img-blog.csdnimg.cn/direct/c57c4fb869c64a15b5227d9824ee4fc8.png
根据之前设置的权限:develop组在develop和public具有777权限(最大),对zilioaku具有只读权限,以是:
user2可以在develop组的develop文件里操作,并创建文件
https://img-blog.csdnimg.cn/direct/60b96968301f49bca5f25eb8f888d546.png
user2在其他组所属的文件中没有权限访问,例如system组的文件system
https://img-blog.csdnimg.cn/direct/90e6a58846a74c1ea2dd7058276c7cc6.png user2在ziliaoku只读,没有操作权限,无法创建文件夹
https://img-blog.csdnimg.cn/direct/98a11787dea042fe9c9551fe6ebb0ba4.png
Linux客户端
输入smbclient //192.168.1.2/share -U user2
https://img-blog.csdnimg.cn/direct/f219e971b0c34adb9df39b5172425dc6.png
根据之前设置的权限:develop组在develop和public具有777权限(最大)
对zilioaku具有只读权限,以是:
user2可以在develop文件里操作,并创建文件
https://img-blog.csdnimg.cn/direct/91b4146733e04743a2be48117bba5676.png
user2在ziliaoku没有操作权限https://img-blog.csdnimg.cn/direct/4efc0bc3dead4dcc9bf48d95080a6a37.png 也可以使用其他用户进行权限验证
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]