Samba服务器配置

Samba是一个基于SMB(Server Message Block)协议的开源软件套件,用于在不同操作系统之间实现文件和打印共享,以下是关于如何配置Samba服务器的详细步骤和相关信息。
一、基础理论
Samba是在Linux系统上实现SMB(Server Message Block)通信协议的一个免费软件,由GPL(通用公共许可证)授权,它为Linux系统提供了与Windows系统之间的文件和打印共享功能,SMB协议最初由IBM开发,后来被微软采用并进一步发展为CIFS(Common Internet File System),通过Samba,Linux服务器可以作为文件服务器或打印服务器,供Windows客户端访问,反之亦然。
二、Samba工作流程
1、协议协商:客户端发送negprot指令数据包,告知目标计算机其支持的SMB类型,Samba服务器根据客户端的情况选择最优的SMB类型并做出回应。
2、建立连接:当SMB类型确认后,客户端会发送session setup指令数据包,提交账号和密码,请求与Samba服务端建立连接,如果客户端通过身份验证,Samba服务器会对session setup报文做出回应,并为用户分配唯一的UID,在客户端与其通信时使用。
3、访问共享资源:客户端访问Samba共享资源时,发送tree connect指令数据包,通知服务器需要访问的共享资源名,如果设置允许,Samba服务器会为每个客户端与共享资源连接分配TID,客户端即可访问需要的共享资源。
4、断开连接:共享使用完毕,客户端发送tree disconnect报文关闭共享,与服务器断开连接。
三、项目实训
1. 目的

利用Samba服务实现Linux和Windows主机之间的文件资源共享,并模拟企业真实部门情况,对各部门进行权限管理分配。
2. 准备工作
Linux服务器:IP:192.168.1.2/24
Linux客户端:IP:192.168.1.3/24
Windows客户端:IP:192.168.1.100/24
所有主机在同一局域网内,并且保证网络连通性,安装Samba软件包。
3. 配置Samba服务

3.1 开启Samba服务,并设置开启自启动
systemctl start smb systemctl enable smb systemctl start nmb systemctl enable nmb
3.2 创建共享文件夹
mkdir /share/system mkdir /share/develop mkdir /share/test mkdir /share/product mkdir /share/developandtest mkdir /share/public mkdir /share/ziliaoku
3.3 创建群组
groupadd system groupadd develop groupadd test groupadd product
3.4 修改文件用户权限
chown -R :system /share/system chown -R :develop /share/develop chown -R :test /share/test chown -R :product /share/product chown -R :develop:test /share/developandtest chown -R :public /share/public chown -R :ziliaoku /share/ziliaoku
3.5 修改配置文件
编辑/etc/samba/smb.conf
文件,添加以下内容:
[global] workgroup = SAMBA server string = Samba Server %v load printers = yes cups options = raw printcap name = cups printing = cups log file = /var/log/samba/log.%m max log size = 50 dns proxy = no [system] path = /share/system valid users = @system browseable = no writable = no printable = no guest ok = no create mask = 0700 directory mask = 0700 [develop] path = /share/develop valid users = @develop browseable = no writable = yes printable = no guest ok = no create mask = 0700 directory mask = 0700 [test] path = /share/test valid users = @test browseable = no writable = yes printable = no guest ok = no create mask = 0700 directory mask = 0700 [product] path = /share/product valid users = @product browseable = no writable = yes printable = no guest ok = no create mask = 0700 directory mask = 0700 [developandtest] path = /share/developandtest valid users = @develop,@test browseable = no writable = yes printable = no guest ok = no create mask = 0700 directory mask = 0700 [public] path = /share/public valid users = @public browseable = yes writable = no printable = no guest ok = yes create mask = 0700 directory mask = 0700 [ziliaoku] path = /share/ziliaoku valid users = @ziliaoku browseable = no writable = yes printable = no guest ok = no create mask = 0700 directory mask = 0700
3.6 设置Samba服务用户
pdbedit -a -u system -N system_password -f /etc/samba/smbpasswd pdbedit -a -u develop -N develop_password -f /etc/samba/smbpasswd pdbedit -a -u test -N test_password -f /etc/samba/smbpasswd pdbedit -a -u product -N product_password -f /etc/samba/smbpasswd pdbedit -a -u developandtest -N developandtest_password -f /etc/samba/smbpasswd pdbedit -a -u public -N public_password -f /etc/samba/smbpasswd pdbedit -a -u ziliaoku -N ziliaoku_password -f /etc/samba/smbpasswd
3.7 让Samba服务被安全上下文允许使用
编辑/etc/sysconfig/selinux
文件,将SELINUX设置为disabled,然后重启系统或执行以下命令使更改生效:
setenforce 0 setenforce Permissive
四、测试结果
Windows客户端(Win 10)访问Samba共享目录步骤如下:
1、打开“此电脑”或“文件资源管理器”。
2、在地址栏输入\192.168.1.2
并按回车键,会看到共享的文件夹列表。
3、双击要访问的共享文件夹,输入对应的用户名和密码即可访问,访问public
文件夹时,无需输入用户名和密码;访问develop
文件夹时,需要输入用户名develop
和密码develop_password
。
Linux客户端访问Samba服务器步骤如下:
1、安装samba-client软件包:yum install samba-client.x86_64 -y
。
2、使用smbclient
命令访问Samba共享资源:smbclient //192.168.1.2/public
,然后输入密码即可访问。
各位小伙伴们,我刚刚为大家分享了有关“服务器配置sabma”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复