配置与管理Samba服务器(详细教程)

润信云 技术支持

一、基础理论

samba最先在linuxwindows两个平台之间架起了一座桥梁,正式由于Samba的出现,我们才可以在Linux系统和Windows系统之间互相通信,如复制文件,实现不同操作系统之间的资源共享等,可以将其架设成一个功能非常强大的文件服务器,也可以将其架设成打印服务器提供本地和远程联机打印,甚至可以使用Samba Server完全取代NT/2K/2K3中的域控制器,对域进行管理也非诚方便。

Samba服务功能强大,这与其通信基于SMB协议有关。SMB不仅提供目录和打印机共享,还支持认证,权限设置。在早期,SMB运行与NBT协议上,使用UDP的 137、138、端口,后期SMB经过开发,可以直接运行与TCP/IP上,没有额外的NBT层,使用TCP的445端口。


二、samba工作流程

    1. 协议协商。  客户端在访问Samba服务器时,发送negprot指令数据包,告知目标计算机其支持的SMB类型,Samba服务器根据客户端的情况,选择最优的SMB类型并做出回应

    2. 建立连接。  当SMB类型确认后,客户端会发送session setup 指令数据包,提交账号和密码,请求与Samba服务端建立连接,如果客户端通过身份验证,Samba服务器会对session setup报文做出回应,并为用户分配唯一的UID,在客户端与其通信时使用

    3. 访问共享资源。  客户端访问Samba共享资源时,发送tree connect 指令数据包,通知服务器需要访问的共享资源名,如果设置允许,Samba服务器会为每个客户端与共享资源连接分配TID,客户端即可访问需要的共享资源

    4. 断开连接。  共享使用完毕,客户端服务器发送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服务软件包信息

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第1张

    使用yum命令安装服务器Samba服务

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第2张

     使用   rpm -qa |grep samba   查询是否成功安装

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第3张

     服务器安装用户软件包“samba-client.x86_64”

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第4张

    3.2.2客户端安装软件包

    使用yum install samba-client.x86_64 -y安装客户机samba软件包

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第5张

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第6张

    3.3配置Samba服务

    3.3.1开启Samba服务,并设置开启自启动
    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第7张
    允许防火墙通过Samba服务
    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第8张


    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---------------------------------------------------------------------------资料库文件

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第9张


     3.3.3创建群组


    groupadd system---------------------------------------------------------------------------------创建系统组

    groupadd develop--------------------------------------------------------------------------------创建开发组

    groupadd test--------------------------------------------------------------------------------------创建测试组

    groupadd product--------------------------------------------------------------------------------创建产品组 

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第10张

    创建相应用户并划分组

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第11张

    更改文件所有者和所属组 

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第12张

    3.3.4修改文件用户权限

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第13张

    使用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              显示本帮助信息

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第14张

    查看修改后的/share/system文件具有的权限 

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第15张


     3.3.5修改配置文件

    修改samba的主配置文件:vim /etc/samba/smb.conf


    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第16张

    重启samba服务 

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第17张

     3.3.6设置samba服务用户

     将用创建的四个用户添加到samba用户(统一密码:123456

    smbpasswd -a user1(回车后直接输入密码)

    smbpasswd -a user2(回车后直接输入密码)

    smbpasswd -a user3(回车后直接输入密码)

    smbpasswd -a user4(回车后直接输入密码)

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第18张

     3.3.7让samba服务被安全上下文允许使用

    chcon -t samba_share_t /share/ -R---更改共享目录的context值或者禁用SELinux

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第19张

    或者:

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第20张

    3.4测试结果 
    Windows客户端(Win 10)

    在“启用或关闭windows”功能里开启有关SMB的这几项

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第21张

    Win+R   输入\\192.168.1.2  即可访问  

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第22张

    输入账号/密码(这里使用“user2/123456”进行验证)

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第23张


    进入samba空间

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第24张

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第25张

    根据之前设置的权限:develop组在develop和public具有777权限(最大),对zilioaku具有只读权限,所以:

    user2可以在develop组的develop文件里操作,并创建文件

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第26张

    user2在其他组所属的文件中没有权限访问,例如system组的文件system 

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第27张

    user2在ziliaoku只读,没有操作权限,无法创建文件夹

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第28张


     Linux客户端

    输入smbclient //192.168.1.2/share -U user2


    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第29张

    根据之前设置的权限:develop组在develop和public具有777权限(最大)

    对zilioaku具有只读权限,所以:

    user2可以在develop文件里操作,并创建文件

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第30张

    user2在ziliaoku没有操作权限

    配置与管理Samba服务器(详细教程) 服务器 vps 服务器运维 精品服务器 linux windows 第31张

    也可以使用其他用户进行权限验证












    本文链接:https://blog.runxinyun.com/post/390.html 转载需授权!

    分享到:
    版权声明
    网站名称: 润信云资讯网
    本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
    不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
    我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!邮件:7104314@qq.com
    网站部分内容来源于网络,版权争议与本站无关。请在下载后的24小时内从您的设备中彻底删除上述内容。
    如无特别声明本文即为原创文章仅代表个人观点,版权归《润信云资讯网》所有,欢迎转载,转载请保留原文链接。
    0 87

    留言0

    评论

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。