在CentOS 7中使用SAMBA部署文件共享服务

2023-11-04

        SMB(Server Message Block,服务信息块)又称CIFS(Common Internet File System,通用Internet文件系统),是一种应用层网络传输协议。微软公司和英特尔公司于1987年共同制定了SMB,旨在解决局域网内的文件或打印机等资源的共享问题。Samba是一款基于SMB/CIFS协议的开源软件,通过简单的配置就能够实现Linux操作系统与Windows操作系统之间的文件共享。
        Samba由smbd和nmbd两个守护进程组成,采用服务端/客户端模式。smbd进程除了为客户端提供文件共享与打印机服务,还负责用户权限验证以及锁功能。smbd默认监听的端口是TCP协议的139与445,Samba通过smb服务启动smbd进程,使用netstat -nutlp可查看进程端口信息。nmbd进程提供NetBIOS名称服务,以满足基于Common Internet File System(CIFS)协议的共享访问环境。Samba通过nmb服务启动nmbd进程,该进程默认使用是UDP 137端口。
一、部署samba服务端
1、安装samba。

yum -y install samba

2、备份samba主配置文件(可选操作)。

cp -a /etc/samba/smb.conf /etc/samba/smb.conf.bak

3、创建共享目录并修改目录权限。

mkdir /samba
chmod -Rf 777 /samba

4、编辑samba主配置文件/etc/samba/smb.conf,添加如下信息。

[samba]
comment = samba share
path = /samba
public = no
writable = yes
guest ok = no

5、使用命令pdbedit创建用于访问共享资源的用户信息数据库。

groupadd samba -g 3000
useradd lw -u 4000 -g 3000 -s /sbin/nologin
pdbedit -a lw
说明:
-u 4000:指定用户ID为4000
-g 3000:指定用户的所属组ID为3000,指定的组必须先于用户创建。
-s /sbin/nologin:指定用登录的shell。
pdbedit命令用于管理SMB服务程序的用户信息数据库,常用参数及作用如下所示:
-a:建立Samba用户。
-x:删除Samba用户。
-u:指定本地用户。
-L:列出用户列表。
-Lv:列出用户详细信息的列表。

7、重启smb服务并将其加入开机启动。

systemctl restart smb
systemctl enable smb

二、部署Windows 10客户端
1、在Windows 10客户端,使用\\192.168.10.10访问samba共享目录,出现如下错误提示,是因为没有关闭或设置Linux防火墙。

2、设置或关闭Linux防火墙。

firewall-cmd --permanent --add-service=samba    #默认区域添加samba服务
firewall-cmd --reload    #重新加载防火墙

systemctl stop firewalld    #关闭防火墙
systemctl disable firewalld    #禁用防火墙

3、在Windows 10客户端,使用\192.168.10.10访问samba共享目录,在弹出的窗口中输入samba服务器中创建的用户名和密码,单击确定进入。


4、双击共享目录(samba),出现没有权限访问的错误提示。

5、查看并设置与samba相关的selinux boolean(布尔值)。

getsebool -a | grep samba    #查看与samba相关的selinux Boolean
setsebool samba_export_all_ro=on     #开启只读权限
setsebool samba_export_all_rw=on     #开启读写权限

6、双击共享目录(samba),进入目录并创建目录和文件。

7、依次打开“此电脑–计算机–映射网络驱动器–映射网络驱动器。

8、选择驱动器编号(X:)、文件夹(\192.168.10.10\samba),然后单击完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在CentOS 7中使用SAMBA部署文件共享服务 的相关文章

  • vmsplice() 和 TCP

    在原来的vmsplice 执行 有人建议 http lwn net Articles 181169 如果您的用户态缓冲区是管道中可容纳的最大页面数的 2 倍 则缓冲区后半部分成功的 vmsplice 将保证内核使用缓冲区的前半部分完成 但事
  • linux下无法创建僵尸进程

    嗯 我有一个奇怪的问题 我无法在我的项目中创建僵尸进程 但我可以在其他文件中创建僵尸进程 有简单的说明 int main if fork 0 printf Some instructions n else sleep 10 wait 0 r
  • 如何为 Linux 桌面条目文件指定带有相对路径的图标?

    对于我的一个 Linux 应用程序 我有应用程序二进制文件 一个 launcher sh 脚本 针对 LD LIBRARY PATH 和一个 desktop 文件 所有这些都位于同一文件夹中 我想使用图标的相对路径而不是绝对路径 我试过了
  • 在 .gitconfig 中隐藏 GitHub 令牌

    我想将所有点文件存储在 GitHub 上 包括 gitconfig 这需要我将 GitHub 令牌隐藏在 gitconfig 中 为此 我有一个 gitconfig hidden token 文件 这是我打算编辑并放在隐藏令牌的 git 下
  • 我们真的应该使用 Chef 来管理 sudoers 文件吗?

    这是我的问题 我担心如果 Chef 破坏了 sudoers 文件中的某些内容 可能是 Chef 用户错误地使用了说明书 那么服务器将完全无法访问 我讨厌我们完全失去客户的生产服务器 因为我们弄乱了 sudoers 文件并且无法再通过 ssh
  • 无需超级用户即可在 Linux 中打开 RAW 套接字

    我必须编写一个在 Linux 上运行的 ping 函数 语言是 C 所以 C 也可以 在网上搜索并查看源代码ping命令 事实证明我应该创建一个原始套接字 icmp sock socket AF INET SOCK RAW IPPROTO
  • C 语言的符号表

    我目前正在开发一种执行模式匹配的静态分析工具 我在用Flex https github com westes flex生成词法分析器 我编写了代码来管理符号表 我不太有经验C 所以我决定将符号表实现为线性链表 include
  • 使用循环在 C 中管道传输两个或多个 shell 命令

    我正在尝试执行ls wc l通过 C 语言程序 而不是使用命令行 这是我当前的工作代码 int main int pfds 2 pipe pfds pid t pid fork if pid 0 The child process clos
  • 添加文件时运行 shell 命令

    我的 Linux 机器上有一个名为 images 的文件夹 该文件夹连接到一个网站 该网站的管理员可以向该网站添加图片 但是 当添加图片时 我想要一个命令来运行调整目录中所有图片的大小 简而言之 我想知道当新文件添加到特定位置时如何使服务器
  • CMake 链接 glfw3 lib 错误

    我正在使用 CLion 并且正在使用 glfw3 库编写一个程序 http www glfw org docs latest http www glfw org docs latest 我安装并正确执行了库中的所有操作 我有 a 和 h 文
  • 配置tomat的server.xml文件并自动生成mod_jk.conf

    我在用apache 2 2 15 and tomcat6 6 0 24 on CentOS 6 4并希望使用 tomcat 服务器的功能 通过添加以下内容自动生成 mod jk conf 文件
  • 如何在 Linux 中使用 C 语言使用共享内存

    我的一个项目有点问题 我一直在试图找到一个有据可查的使用共享内存的例子fork 但没有成功 基本上情况是 当用户启动程序时 我需要在共享内存中存储两个值 当前路径这是一个char and a 文件名这也是char 根据命令参数 启动一个新进
  • C修改printf()输出到文件

    有没有办法修改printf为了将字符串输出到文件而不是控制台 我尝试在互联网上查找一些内容 发现了类似的电话dup dup2 and fflush这可能与此有关 EDIT 也许我不清楚 问题是这是C考试问题 问题如下 解释一个通常将字符串输
  • 为什么opencv videowriter这么慢?

    你好 stackoverflow 社区 我有一个棘手的问题 我需要你的帮助来了解这里发生了什么 我的程序从视频采集卡 Blackmagic 捕获帧 到目前为止 它工作得很好 同时我用 opencv cv imshow 显示捕获的图像 它也工
  • 如何查找哪个 Yocto 项目配方填充图像根文件系统上的特定文件

    我经常与 Yocto 项目合作 一个常见的挑战是确定文件为何 或来自什么配方 包含在 rootfs 中 这有望从构建系统的环境 日志和元数据中得出 理想情况下 一组命令将允许将文件链接回源 即配方 我通常的策略是对元数据执行搜索 例如gre
  • Apache 访问 Linux 中的 NTFS 链接文件夹

    在 Debian jessie 中使用 Apache2 PHP 当我想在 Apache 的文档文件夹 var www 中创建一个新的小节时 我只需创建一个指向我的 php 文件所在的外部文件夹的链接 然后只需更改该文件夹的所有者和权限文件夹
  • 为什么同一个curl命令在windows和linux下输出不同的东西?

    为什么同样的curl o file https www link com 命令输出不同的东西 例如 如果我运行命令curl o source txt https www youtube com playlist list PLIx6Fwnp
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的

随机推荐

  • 你们要的终极指南! 交易API接口

    股票API接口可谓是量化交易和金融工具中最重要的组成部分 一个高质量的交易API接口对于量化交易程序员而言可谓是福星 因其可使得程序员们进行后向测试 得到可靠的测试结果 验证自己制定的交易策略是否有效 甚至构建自己的财富主页 有可能成为下一
  • 主从架构&lua脚本-Redis(四)

    上篇文章介绍了rdb aof持久化 持久化RDB AOF Redis 三 https blog csdn net ke1ying article details 131148269 redis数据备份策略 写job每小时copy一份到其他目
  • Ubuntu22.04更换国内镜像源(阿里、网易163、清华、中科大)

    更换方法 Ubuntu采用apt作为软件安装工具 其镜像源列表记录在 etc apt source list文件中 首先将source list复制为source list bak备份 然后将source list内容改为需要的镜像源列表即
  • unity 在pc平台 重启应用程序

    void ReStart 延迟5秒启动 string strs new string echo off echo wscript sleep 5000 gt sleep vbs start wait sleep vbs start d 0
  • 深度学习训练营Resnet之鸟类识别

    深度学习训练营之鸟类识别 原文链接 理论知识储备 为什么会提出ResNet ResNet 环境介绍 前置工作 设置GPU 导入数据并进行查找 数据处理 可视化数据 配置数据集 残差网络的介绍 构建残差网络 模型训练 开始编译 结果可视化 训
  • jupyter虚拟环境连接内核失败

    当你的Jupyter一直显示 连接内核中 或者是404 那么不妨考虑是否是防火墙的问题 首先使用conda install ipykernel 这样可以在jupyter上看到内核 依次把对应的虚拟环境的目录下的python exe pyth
  • java工具之解析yaml文件

    工具使用背景 很多配置项都是使用yaml的格式进行配置的 按一定的格式进行缩进 一眼看上去 清晰明了 如Springboot工程下图所示 如 k8s的Deploy文件 本次写这个yaml工具解析是想解析k8s的config文件 然后封装一个
  • JAVA解析Json并输出所有属性值,多层次

    import com alibaba fastjson JSON import com alibaba fastjson JSONArray import com alibaba fastjson JSONObject import org
  • 关于opencv通道的C++转化实现

    首先我是在visual2019上使用C 因此测试之前要安装opencv的依赖包 可以上官网自行下载安装 1 图像通道 1 单通道图 每个像素点只有一个值 0 255 即我们常见的黑白图 称作灰度图 2 三通道图 每个像素点都有 3 个值表示
  • Quartusii 链接Altera-Modelsim进行功能仿真

    下文介绍利用Altera Modelsim来进行功能仿真的步骤 quartus ii 版本 17 0 altera modelsim版本 ModelSim Intel FPGA Starter Edition 10 5b Quartus P
  • 如何使用scrcpy管理和控制你的Android设备

    关于scrcpy scrcpy是一款针对Android设备的管理和控制工具 该工具可以通过USB或TCP IP来帮助广大研究人员显示 管理和控制Android设备 该工具不需要root访问权限 支持GNU Linux Windows和mac
  • 蚁群算法(Ant Colony Optimization,ACO)

    1 算法基本思想 在自然界中 蚂蚁群体在寻找食物的过程中 无论是蚂蚁与蚂蚁之间的协作还是蚂蚁与环境之间的交互均依赖于一种被称为信息素 Pheromone 的物质实现蚁群的间接通信 从而通过合作发现从蚁穴到食物源的最短路径 蚂蚁在寻找食物的过
  • 2019.9最新JRebel激活方式

    原文链接 最近JRebel离线方式到期 idea报无法激活JRebel了 找了很多以前的方式都无法生效 ip或域名都已经失效了 好在找到了大神有效的激活方式 以下是激活步骤 1 下载反向代理软件 下载地址 https github com
  • Linux安装python3

    1 获取安装包 第一种方式 通过官网下载 登录 https www python org downloads source 下载所需安装包并上传至服务器 第二种方式 通过命令行的下载工具 以python3 6 1为例 wget https
  • ViewModel 使用及原理解析

    本文是基于 androidx lifecycle lifecycle extensions 2 0 0 的源码进行分析 ViewModel旨在以生命周期意识的方式存储和管理用户界面相关的数据 它可以用来管理Activity和Fragment
  • WDA学习笔记(二)通过页面跳转理解WDA开发流程

    在进行开发之前先简单介绍一下WDA的控制器 WDA控制器包括组件控制器 定制控制器 视图控制器和窗口控制器 组件控制器 每个 Web Dynpro 组件只有一个组件控制器 该控制器是全局控制 器 对所有其它控制器可见 组件控制器可以控制整个
  • 服务器重装

    搜索自己的品牌看如何进入bios 这里是在最后进入前按del bios的命令 在boot里面主要有 Boot Settings Configuration 启动选项设定 Boot Device Priority 启动顺序设置 Hard Di
  • Vue项目Vite配置代理解决跨域问题

    Vite 一个Vue作者开发的Web开发工具 它具有快速的冷启动 及时的模块热更新 真正的按需加载 Vite基于浏览器原生 ES imports 的开发服务器 利用浏览器去解析 imports 在服务器端按需编译返回 完全跳过了打包这个概念
  • 一文读懂函数指针

    前言 本篇是关于函数指针的保姆级教程 一 函数指针的定义和修饰 函数指针广泛应用于嵌入式软件开发中 其常用的两个用途 调用函数和做函数的参数 void fptr 把函数的地址赋值给函数指针 一般采用如下形式 fptr Function 如果
  • 在CentOS 7中使用SAMBA部署文件共享服务

    SMB Server Message Block 服务信息块 又称CIFS Common Internet File System 通用Internet文件系统 是一种应用层网络传输协议 微软公司和英特尔公司于1987年共同制定了SMB 旨