动动小手
点个关注~
Samba 是一个开源软件套件,基于 Linux 和 UNIX 系统实现 SMB/CIFS(Server Message Block/Common Internet File System)协议,用于在局域网中提供文件和打印机共享服务。
Samba 的核心功能是实现跨平台资源共享,允许不同操作系统(如 Windows、Linux、macOS)通过 SMB 协议访问共享资源,其架构包含服务器端程序(如 smbd 和 nmbd 守护进程)和客户端工具。
samba在日常生产环境中主要用在linux和window之间进行文件目录的共享。本文以centos7.6作为文件服务器,windows10作为客户端,详细讲解samba的配置。
环境如下:
服务端使用/sambashare为物理共享目录,对外名称为myshare。
windows客户端最终使用\\192.168.2.104\myshare进行访问。
在服务端执行以下命令,按照samba的服务端和客户端组件yum -y install samba samba-client #安装samba组件
cd /etc/samba #进入samba配置目录cp smb.conf smb.confbak #备份samba配置
mkdir /sambashare #创建共享目录文件chmod -R 775 /sambashare #赋予目录775权利,具体可以根据业务情况调整chwon -R test:test /sambashare #设置目录数组为test
useradd test #创建用户testsmbpasswd -a test #设置test的samba密码smbpasswd -e test #使得密码生效dpbedit -L #验证用户是否添加成功
cd /etc/samba #进入samba配置目录cp smb.conf smb.confbak #备份samba配置vi /etc/samba/smb.conf #进行samba配置
[global] workgroup = WORKGROUP #工作组名称,建议和window的保持一致 security = user #用户名密码模式, passdb backend = tdbsam #后端数据库模式 printing = bsd #禁用打印功能 printcap name = /dev/null #不输出打印日志 load printers = no cups options = raw
[myshare] #共享目录,需要在window中显示的名称comment = test #自定义path = /sambashare #服务器中的实际物理路径browseable = YES #是否在网页中打开,也是是可以代开read only = No #是否只读guest ok = no #禁用guest用户valid users = test #设置的samba用户
五、samba配置验证与启动服务
testparm #验证配置文件是否配置正确,如下图为正确配置systemctl start smb nmb #启动samba服务systemctl enable smb nmb #设置samba开机自启动
yum -y install samba-client #安装samba客户端,也可以在刚开始安装smbclient //localhost/myshare -U test #测试服务端能否登录成功
六、安全策略配置(本次实验是测试环境,生产环境建议开启防火墙并放行samba服务)systemcl stop firewalld #停止防火墙,根据实际情况决定。systemctl disable firealld #禁止开机启动setenforce 0 #临时关闭selinuxvim /etc/selinux/config #编辑seliunx配置SELINUX=enforcing #修改配置并重启,永久生效 firewall-cmd --permanent -- and-service=samba #如开启防火墙,则放行sambafirewall-cmd --reload #重新加载防火墙使配置生效
在终端windows中我的电脑或者win+R输入\\192.168.2.104\myshare,输入用户名和密码就可以进行访问共享目录了。\\192.168.2.104\myshare #测试服务端共享是否生效
- 1、确保samba登录的用户(本文中为test)已通过
smbpasswd添加,且系统用户存在。
- 2、selinux和防火墙未正确配置可能导致无法访问共享目录。
掌握了samba服务,就可以搭建相关共享目录了,快来试一试吧。