Centos安装Samba实战

Samba介绍

Samba是一套使用SMB(Server Message Block)协议的应用程序, 通过支持这个协议, Samba允许Linux服务器与Windows系统之间进行通信,使跨平台的互访成为可能。Samba采用C/S模式, 其工作机制是让NetBIOS( Windows 网上邻居的通信协议)和SMB两个协议运行于TCP/IP通信协议之上,并且用NetBEUI协议让Windows在“网上邻居”中能浏览Linux服务器。

samba服务器可实现如下功能:WINS和DNS服务; 网络浏览服务; Linux和Windows域之间的认证和授权; UNICODE字符集和域名映射;满足CIFS协议的UNIX共享等。 samba的主要目的就是用来沟通Windows与Unix这两种不同的作业平台。

环境说明

Samba服务器centos7.9(其他版本也可以)
需要软件samba
客户端win11(win10都可以)、linux(centos、Ubuntu都可以)

安装Samba

安装步骤特别简单,执行一条命令即可,步骤如下:

第一步:安装samba服务
yum install samba

第二步:启动samba服务
systemctl start smb

查看samba的状态
systemctl status smb
看到Active就说明在运行中了

在这里插入图片描述

配置Samba

配置Samba这个就非常有意思了,要想发挥Samba的强大功能,建议看一下详细配置说明。本文侧重使用功能,详细介绍请看:https://blog.csdn.net/doushi/article/details/126613187,Samba配置文件详解

关闭防火墙

不想关闭防火墙,请将Samba端口加入防火墙白名单。

systemctl stop firewalld.service //停止服务
systemctl disable firewalld.service //关闭开机启动

以下是加入防火墙开放Samba端口,执行上面操作可以忽略

firewall-cmd --zone=public --add-port=139/tcp --permanent
firewall-cmd --zone=public --add-port=445/tcp --permanent
firewall-cmd --zone=public --add-port=137/udp --permanent
firewall-cmd --zone=public --add-port=138/udp --permanent
 
firewall-cmd --reload
systemctl restart firewalld.service

关闭selinux

注意,这个步骤不执行,那么windows在连接Samba时会出现无法打开文件夹,提示权限问题(实际不是权限,这点很坑)

临时关闭
setenforce 0
永久关闭
 vi /etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。

修改Samba配置

废话不多说,直接把最简单的配置粘贴上
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

[global]
	workgroup = WORKGROUP #这个修改过,实际使用默认值也能正常
	security = user
	passdb backend = tdbsam
	printing = cups
	printcap name = cups
	load printers = yes
	cups options = raw

[share]
    comment = Share Directories
    path = /home/smb/share # 这个文件目录一定要给Samba对应的用户权限,不放心可设置777权限
    public = yes
    writable = yes
    browseable = yes
	create mask = 0644
	directory mask = 0775

添加Samba用户,即客户端连接需要用户名+密码才可

第1步:需要添加一个linux系统级用户来管理,可以使用已有用户(非root),也可以新建用户
useradd smb //添加用户
passwd smb //修改密码(linux系统的用密码,可以不设置,然后禁止该用户登录)
设置samba用户的连接密码(这一步很重要,必须要执行,这是后期客户端连接时需要输入的密码)
smbpasswd -a smb # 给smb用户设置连接密码,命令回车后需要键盘输入密码,记住密码否则后期连不上。

第2步:设置共享目录,文件权限
chown -R smb:smb #这个步骤可以先不执行,后期若出现权限问题,在执行也可以

第3步:重启samba服务
systemctl restart smb

Windows挂载Samba共享文件

Win +  R快捷键打开命令输入框,输入
\\samba服务器IP,如
\\10.1.203.36
可以映射为磁盘,以后开机就自动连接了,相当于一个外挂的共享磁盘。

在这里插入图片描述
在这里插入图片描述

Linux挂载Samba共享文件

首先我们需要在centos7上安装一个samba客户端程序
yum install -y cifs-utils
在客户端服务器,创建一个挂载点
mkdir /data
执行挂载命令
mount -t cifs -o username=“username”,password=“your password” //samba服务器域名或者samba服务器IP/共享名/ /挂载点
翻译一下:
mount -t cifs -o username="你的samba用户名",password="你的密码" //IP地址/share /挂载到本地服务器目录

在这里插入图片描述

其他

设置Samba服务为开机自启动
systemctl enable smb
开启Samba服务
systemctl start smb
关闭Samba服务
systemctl stop smb
查看Samba服务器状态
systemctl status smb

windows服务器映射为本地磁盘后,开机自动连接(前提:网络正常)
linux客户端若想开机自动挂载Samba服务,则需要将命令添加到开机自启动脚本。

centos开机自动挂载Samba

方法一:
通过追加fstab文件的方式自动挂载

vim /etc/fstab
增加以下内容
//10.1.203.36/share		/webdir/samba	cifs	defaults,username='username',password='your password'     0 0
共享路径 挂载点 文件类型 挂载参数(共享的认证账号和认证账号的密码等参数)

方法二:
通过开机自动加载rc.local的方式自动挂载

echo "mount -t cifs //10.1.203.36/share/ /webdir/samba -o username='uaername',password='your password'" >> /etc/rc.local 

查看挂载情况
df -Th
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值