linux上的smb共享文件夹

需求描述

公司的打印机使用扫描功能的时候,需要发送大量文件。然鹅公司的电脑都是加入了AzureAD的,不能在公司电脑上简单设置共享。好在公司有很多阿里云上的服务器,Linux和Windows的都有,所以就来尝试用阿里云的服务器来进行smb共享。

至于为啥不用ftp。因为smb是可以直接通过Windows资源管理器访问的,而如果是ftp的话,还需要额外安装ftp客户端,这又是一个不小的工作量。所以果断选择用SMB。

安装

用的是samba这个软件,可以直接yum安装

yum install samba

添加用户

我们需要添加一个用户,将来就是通过这个用户来访问共享文件夹。然后通过smbpasswd命令,来给他指定一个密码。

useradd -M -s /sbin/nologin smbsuser
sudo chmod -R 777 /opt/scan
sudo chown -R smbsuser /opt/scan
smbpasswd -a smbsuser
New SMB password:
Retype new SMB password:
Added user ftsuser.

修改配置文件

配置文件基本上,如下这样写就可以了

sudo vim /etc/samba/smb.conf
[shared]                         comment = Shared Folder       path = /opt/scan browseable = yesread only = nowritable = yesvalid users = smbsuser

开启防火墙端口

可以用如下命令开放端口。ps,如果是阿里云的话,就需要手动去安全组里开放端口。

firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload
# 需要开放 137-139 和 445

启动服务

systemctl start smb
# 开机启动
sudo systemctl enable smb

测试访问

已经可以看到文件夹,并进行访问了。但是发现没有写入的权限。

在这里插入图片描述

SElinux设置

查阅资料,发现是SElinux的锅。可以简单的将Selinux设置为宽容模式,这样发现就能写入了。

[root@node5 opt]# getenforce
Enforcing
[root@node5 opt]# setenforce 0
[root@node5 opt]# getenforce
Permissive

如果希望不关闭SElinux也能写入,需要用SElinux管理工具修改上下文

setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
# 安装SElinux的管理工具
sudo yum install policycoreutils-python setroubleshoot-server
# 将共享文件夹的上下文设置为samba_share_t
semanage fcontext -a -t samba_share_t "/opt/scan(/.*)?"
# 上下文立即生效
restorecon /opt/scan

打印机端的设置

打印机在通讯录里,添加一个如下的smb路径即可

服务器:10.26.62.217

文件夹:shared

用户名:smbsuser

密码:abc@1234

Windows下的设置

Windows下的设置就比较简单了,就是设置一个共享文件夹就可以了。如下所示,两个地方都需要设置。在里面给everyone读写权限就可以了。
在这里插入图片描述

Windows需要开放445和139端口,如果是阿里云的话,需要在ecs的安全组策略里开启,默认的系统防火墙已关闭。如下图所示。
在这里插入图片描述

参考了如下链接:『Samba』在Linux中实现高效管理共享文件夹的基本操作与实践_linux 使用samba共享文件夹-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/55003.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科研绘图系列:R语言绘制SCI文章图2

文章目录 介绍加载R包导入数据图a图b图d系统信息介绍 文章提供了绘制图a,图b和图d的数据和代码 加载R包 library(ggplot2) library(dplyr) library(readxl) library(ggpmisc)导入数据 数据可从以下链接下载(画图所需要的所有数据): 百度网盘下载链接: https://pan.baid…

【算法思想·二叉树】用「遍历」思维解题 II

本文参考labuladongsuanfa笔记[【强化练习】用「遍历」思维解题 II | labuladong 的算法笔记] 如果让你在二叉树中的某些节点上做文章,一般来说也可以直接用遍历的思维模式。 270. 最接近的二叉搜索树值 | 力扣 | LeetCode | 给你二叉搜索树的根节点 root 和一个目…

解决新版Android studio不能连接手机的问题

我要说的是一个特例,装了22年的版本AS可以正常连接手机,装了23年以后新版本,AS不能正常连接手机了,但是在CMD控制台可以正常的执行adb命令,并且CMD和AS都是指向D:\android_sdk\platform-tools\adb.exe 一、 为什么会出…

通信工程学习:什么是SDRAM同步动态随机存取存储器

SDRAM:同步动态随机存取存储器 SDRAM,全称为Synchronous Dynamic Random Access Memory,即同步动态随机存取存储器,是一种广泛应用于计算机和嵌入式系统中的内存技术。以下是对SDRAM的详细介绍: 一、SDRAM的定义与特点…

linux线程 | 线程的控制(二)

前言: 本节内容是线程的控制部分的第二个小节。 主要是列出我们的线程控制部分的几个细节性问题以及我们的线程分离。这些都是需要大量的代码去进行实验的。所以, 准备好接受新知识的友友们请耐心观看。 现在开始我们的学习吧。 ps:本节内容适合了解线程…

云轴科技ZStack入选信通院《高质量数字化转型产品及服务全景图》AI大模型图谱

近日,由中国互联网协会中小企业发展工作委员会主办的“2024大模型数字生态发展大会暨铸基计划年中会议”在北京成功召开。会上发布了中国信通院在大模型数字化等领域的多项工作成果,其中重点发布了《高质量数字化转型产品及服务全景图(2024上…

前端开发笔记--html 黑马程序员1

文章目录 前端开发工具--VsCode前端开发基础语法VsCode优秀插件Chinese --中文插件Auto Rename Tag --自动重命名插件open in browserOpen in Default BrowserOpen in Other Browser Live Server -- 实时预览 前端开发工具–VsCode 轻量级与快速启动 快速加载:VSCo…

怎么ping网络ip地址通不通

怎么Ping网络IP地址通不通?要检查网络中的IP地址是否连通,可以使用‌Ping命令。Ping命令通过发送ICMP(Internet Control Message Protocol,因特网控制消息协议)Echo请求报文并等待回应,来判断目标主机是否可…

微知-Mellanox网卡如何导出firmware中的config文件以及文件中有些什么?(ini配置文件,8个区)

背景 Mellanox网卡早期版本以及Engineer simple的DPU支持导出配置文件,该配置文件就是用来告诉firmware的行为。但不是mlxconfig真正设置的文件(mlxconfig -d xxx -e -q应该就是把这个文件读取出来,并且有3个文件,包括默认的,当前…

WebGl学习使用attribute变量绘制一个水平移动的点

在WebGL编程中,attribute变量是一种特殊类型的变量,用于从客户端传递数据到顶点着色器。这些数据通常包括顶点的位置、颜色、纹理坐标等,它们是与每个顶点直接相关的信息。attribute变量在顶点着色器中声明,并且对于每个顶点来说都…

【linux】信号(下)

8. 阻塞信号 (一)信号其他相关常见概念 实际执行信号的处理动作称为信号递达(Delivery)信号从产生到递达之间的状态,称为信号未决(Pending)进程可以选择阻塞 (Block )某个信号被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作(即被阻塞的信…

如何在阿里云一键部署FlowiseAI

什么是FlowiseAI FlowiseAI 是一个开源的低代码开发工具,专为开发者构建定制的语言学习模型(LLM)应用而设计。 通过其拖放式界面,用户可以轻松创建和管理AI驱动的交互式应用,如聊天机器人和数据分析工具。 它基于Lang…

c++速成之从string类中获取那些知识

温馨提示:本篇文章依旧是c速成系列的文章,因为从这里开始,内容就已经开始复杂,但博主还是以是什么,怎么用的原则继续给大家讲解知识点,希望大家能够耐心看完,并给博主留个三连,博主先…

Redis-缓存过期淘汰策略

缓存淘汰策略 生产上redis内存设置为多少 设置为最大内存的 3/4 redis 会占用物理机多少内存 默认大小是 0,64 位系统下表示不限制内存大小,32位系统表示 3G 如何设置修改redis内存大小 config get maxmemory 查看修改方式 配置文件 单位是字节 2.…

深入Postman- 自动化篇

前言 在前两篇博文《Postman使用 - 基础篇》《玩转Postman:进阶篇》中,我们介绍了 Postman 作为一款专业接口测试工具在接口测试中的主要用法以及它强大的变量、脚本功能,给测试工作人员完成接口的手工测试带来了极大的便利。其实在自动化测试上,Postman 也能进行良好的支…

校车购票微信小程序的设计与实现(lw+演示+源码+运行)

摘 要 由于APP软件在开发以及运营上面所需成本较高,而用户手机需要安装各种APP软件,因此占用用户过多的手机存储空间,导致用户手机运行缓慢,体验度比较差,进而导致用户会卸载非必要的APP,倒逼管理者必须改…

软考《信息系统运行管理员》- 4.1信息系统软件运维概述

4.1信息系统软件运维概述 文章目录 4.1信息系统软件运维概述信息系统软件运维的概念信息系统软件的可维护性及维护类型对软件可维护性的度量可以从以下几个方面进行:软件维护分类: 信息系统软件运维的体系1.**需求驱动**2.**运维流程**3.**运维过程**4.*…

斯坦福 CS229 I 机器学习 I 构建大型语言模型 (LLMs)

1. Pretraining -> GPT3 1.1. Task & loss 1.1.1. 训练 LLMs 时的关键点 对于 LLMs 的训练来说,Architecture(架构)、Training algorithm/loss(训练算法/损失函数)、Data(数据)、Evalu…

两种方式创建Vue项目

文章目录 引言利用Vue命令创建Vue项目准备工作安装Vue CLI创建Vue项目方法一:使用vue init命令方法二:使用vue create命令启动Vue项目 利用Vite工具创建Vue项目概述利用Vite创建项目启动项目 结语 引言 大家好,今天我将向大家展示如何使用不…

【layui】多文件上传组件实现

插件预览效果&#xff1a; 需要引入layui的脚本文件layui.js和样式文件layui.css html代码&#xff1a; <div class"layui-input-block"><div class"layui-upload-list"><table class"layui-table"><colgroup><col…