Linux/centos上如何配置管理samba服务器?

简介: Linux/centos上如何配置管理samba服务器?

1 samba服务相关知识

  • samba服务器可使用户在异构网络操作系统之间进行文件系统共享;
  • samba服务器提供了在Windows环境下共享Linux中用户目录的一个工具;
  • linux中安装samba后,只需在windows中做一些登陆即可访问。

1.1 SMB协议

  • Windows系统采用TCP/IP作为底层协议,发送NetBOIS请求,而在NetBOIS的上层,则采用SMB(server message block)协议作为高级接口,实现windows网络环境中的文件与打印等资源共享;
  • SMB使用NetBOIS的应用程序接口API,端口一般为139,445
  • 为开放协议,允许协议扩展;
  • 大约有65个最上层的作业,每个作业都超过120个函数;
  • CIFS(common Internet File system)是增强版的SMB协议。

1.2 samba工作原理

1.2.1 相关进程

  • samba服务器由smbdnmbd两个守护进程组成,每个进程可单独启动,也可使用/etc/rc.d/init.d/smb启动;

smbd:为windows用户提供文件与打印共享服务;
nmbd:进行NetBIOS名解析,把windows SMB请求中信息中的NetBIOS名字映射为Linux中的IP地址。

1.2.2 samba工作流程

在这里插入图片描述

1.2.3 samba功能

  • 文件和打印机共享;
  • 身份验证和权限设置;
  • 名称解析;
  • 浏览服务。

2 samba服务器安装

2.1 利用光驱安装

以下在centos上操作:

  • linux系统的安装光盘放入光驱,并创建:
mkdir /mnt/cdrom
  • 将光盘以读写方式挂在到以下目录:
mount /dev/cdrom /mnt/cdrom
  • 制作yum源文件/etc/yum.repos.d/cdrom.repo:
[cdrom]
name = cdrom
baseurl = file:///mnt/cdrom
gpgcheck = 0
enabled = 1

2.2 利用光盘映射文件

以下在centos上操作(我使用这个方法):

  • 无光驱的情况下,使用操作系统的映射文件即可;
  • 将映射文件.iso上传到linux上的root下,比如CentOS-7-x86_64-Everything-2003.iso
    在这里插入图片描述

  • 新建iso目录,并将映射文件挂在到该目录下:

mkdir /mnt/iso
mount -o loop /root/CentOS-7-x86_64-Everything-2003.iso /mnt/iso
  • 制作yum文件/etc/yum.repos.d/iso.repo:
[iso]
name = iso
baseurl = file:///mnt/iso
gpgcheck = 0
enabled = 1
  • 使用以下命名安装即可:
yum -y install samba
  • 可使用命令查看安装情况:
rpm -qa | grep samba

3 启动与停止samba服务

  • 启动samba服务:
systemctl start smb.service
  • 停止samba服务:
systemctl stop smb.service
  • 重启samba服务:
systemctl restart smb.service
  • 重载samba服务:
systemctl reload smb.service

在这里插入图片描述

  • 开机自启samba服务:
systemctl enable smb.service
# 查看是否开机自启
systemctl list-unit-files | grep smb

在这里插入图片描述

  • 取消开机自启samba服务:
systemctl disable smb.service
  • 查询samba服务状态:
systemctl status smb.service

在这里插入图片描述

4 配置samba服务器

4.1 samba主配置文件smb.conf

4.1.1 samba配置简介

  • 配置文件在/etc/samba下:
    在这里插入图片描述
  • 配置信息如下:
    在这里插入图片描述
  • 说明:

① 开头主要是介绍samba的作用;
② # : 为注释;
③ ;: 格式范例;

4.1.2 全局变量

  • global主要是全局变量;
[global]
        workgroup = SAMBA # 设置samba的工作组
        security = user

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw
  • 部分字段解析:
字段 方法 说明
workgroup workgroup=<工作组> 设置samba server的工作组
server string server string=<说明> 设置samba server的注释
host allow host allow=<IP>地址 限制允许链接到samba server的机器
security security=<等级> 设置访问的安全级别
password level password level=<位数> 密码长度
username level username level=<位数> 用户名长度
encrypt passwords encrypt passwords= 设定是否对samba密码加密
smd password file smd password file=<密码文件> 设定samba密码文件

4.1.3 共享服务

  • 共享部分包含[home]、[printer]、[自定义共享名];
  • samba默认开启[home]、[printer]共享;
  • 可自行创建共享目录,格式如下:
[共享名]
字段 = 设置值
......
  • 字段说明:
字段 说明
comment 注释说明
path 共享资源的完整路径
browseable 设置浏览资源时是否显示共享目录
public 设置是否允许匿名访问
read only 是否以只读方式访问共享资源
writeable 是否允许用户写操作
vaild users 设置指定用户
write list 允许写操作的用户或组

4.2 samba服务的日志和账号

4.2.1 samba的服务日志文件

  • 目录:
/var/log/samba
  • 通过修改如下文件可设置日志文件的存储路径和容量:
# smb.conf
log file = /var/log/samba/log.%m
max log size = 50

在这里插入图片描述

4.2.2 samba服务密码文件

  • 目录:
/etc/samba/smbpasswd
  • samba中添加账号命令为:
smbpasswd -a 用户名

5 配置samba客户端

5.1 在linux中测试samba服务器

  • smbclient命令:
smbclient -L 目标IP地址或主机名 -U 登陆用户名%密码
  • mount命令:
mount -t cifs //目标IP地址或主机名/共享目录名 挂载点 -o username=用户名,password=密码

5.2 在windows中测试samba服务器

  • 开始-运行,输入linux的共享目录即可;
  • 打开文件浏览器输入linux的共享目录也可以;

6 实际实例

6.1 实例说明

共享文件服务器,文件名为workgroup;目录为/mnt/public;共享名为public;允许所有人反问。

6.2 实现过程

  • 新建目录:
mkdir /mnt/public
touch /mnt/public/test1.txt /mnt/public/test2.txt

在这里插入图片描述

  • 修改smb.conf文件:
[public]
        comment = Public
        path = /mnt/public
        public = yes
        browseable = yes
        guest ok = yes

在这里插入图片描述

  • 打开图形界面允许防火墙samba服务通过(应用程序-杂项-防火墙);
  • 设置Selinux设置成Permissive:
getenforce
setenforce 0
getenforce

在这里插入图片描述

  • 通过linux访问:
smbclient //192.168.0.190/public -U root

在这里插入图片描述

  • root加入加入到samba账户中:
smbpasswd -a root

在这里插入图片描述

  • 通过windows访问,如果出现访问不了,需要开启SMB文件共享支持:
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

相关实践学习
CentOS 8迁移Anolis OS 8
Anolis OS 8在做出差异性开发同时,在生态上和依赖管理上保持跟CentOS 8.x兼容,本文为您介绍如何通过AOMS迁移工具实现CentOS 8.x到Anolis OS 8的迁移。
目录
相关文章
|
7天前
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
52 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
17天前
|
关系型数据库 应用服务中间件 Linux
Linux云服务器如何搭建LNMP环境
LNMP环境是Linux系统中常用的Web服务架构,由Linux、Nginx、MySQL/MariaDB和PHP组成,适用于高效托管动态网站。本文以CentOS 7为例,详细介绍了LNMP环境的搭建步骤,包括Nginx、MariaDB和PHP的安装与配置,以及最终通过创建`index.php`文件验证环境是否成功部署。具体操作涵盖配置YUM仓库、安装服务、编辑配置文件、启动服务等关键步骤,确保用户能够顺利搭建并运行LNMP环境。
44 1
Linux云服务器如何搭建LNMP环境
|
20天前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
111 25
|
4天前
|
存储 运维 监控
深度体验阿里云系统控制台:SysOM 让 Linux 服务器监控变得如此简单
作为一名经历过无数个凌晨三点被服务器报警电话惊醒的运维工程师,我对监控工具有着近乎苛刻的要求。记得去年那次大型活动,我们的主站流量暴增,服务器内存莫名其妙地飙升到90%以上,却找不到原因。如果当时有一款像阿里云 SysOM 这样直观的监控工具,也许我就不用熬通宵排查问题了。今天,我想分享一下我使用 SysOM 的亲身体验,特别是它那令人印象深刻的内存诊断功能。
|
9天前
|
Linux 虚拟化 Docker
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
59 1
|
2月前
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
|
10月前
|
Linux
CentOS7.9服务器一键脚本部署FRP内网穿透服务端与客户端
CentOS7.9服务器一键脚本部署FRP内网穿透服务端与客户端
836 1
|
XML 应用服务中间件 Linux
在一个centos服务器上同时部署tomcat,django,flask
在一个centos服务器上同时部署tomcat,django,flask
141 0
|
Java 应用服务中间件 Linux
Centos7云服务器部署Tomcat
Centos7云服务器部署Tomcat
Centos7云服务器部署Tomcat
|
数据采集 弹性计算 网络协议
[CentOS Python系列] 一.阿里云服务器安装部署及第一个Python爬虫代码实现
本文将详细讲解阿里云服务器如何安装及部署本地Python环境,并搭建代码。
1573 1
[CentOS Python系列] 一.阿里云服务器安装部署及第一个Python爬虫代码实现

热门文章

最新文章