如何在 Ubuntu 上安装和配置 Samba ?

Install and Configure Samba on Ubuntu

Samba 是一个开源程序,用于文件共享和网络打印,使用 SMB 协议。现在基本上用于提供在 Windows 上可访问的 Linux 文件共享系统。

本文介绍如何在 Ubuntu 上安装和配置 Samba 服务器,以便跨文件夹共享网络上不同的计算机。

Update Your System

在开始之前,请确保您的系统是最新的。

sudo apt update
sudo apt upgrade

Install Samba

Samba 包在默认存储库下是可用的,直接使用 APT 安装

sudo apt install samba

这个命令会安装 Samba 服务器和客户端包

Check Samba Status

安装之后,检查 Samba 服务状态

sudo systemctl status smbd

如果 Samba 没有运行,使用如下命令启动运行

sudo systemctl start smbd

使用如下命令,在系统引导时自动启动 Samba 服务

sudo systemctl enable smbd

Backup Configuration File

编辑配置前,请先备份配置文件

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup

Edit Configuration File

使用 nano 文本编辑器中打开文件

sudo nano /etc/samba/smb.conf

Set Workgroup and Server String

在 “[ global ]” 部分,配置以下基本设置

[global]
workgroup = WORKGROUP # Set this to match your network's workgroup (default is WORKGROUP).
server string = Samba Server # Description of your server

Networking Settings

确保 Samba 在正确的网络接口上侦听。默认情况下,它监听所有接口。但是,您可以指定特定的接口。

interfaces = lo eth0 # Replace 'eth0' with your network interface
bind interfaces only = yes

Set Permissions and Access Control

确定安全模式。对于简单的设置,通常使用 user 模式,它只允许经过身份验证的用户。

security = user

Enable Samba Logging (Optional)

开启日志,日志记录有助于在出现问题时进行故障排除。

log file = /var/log/samba/%m.log
max log size = 50

Create Shared Folder

假设您想共享一个名为 shared 的文件夹,首先创建该文件夹。

sudo mkdir /srv/samba/shared

更改文件夹的权限,以便其他人可以访问它

sudo chmod 777 /srv/samba/shared

Add Shared Folder to Configuration

再次编辑配置文件,在文件底部添加以下文本块来定义共享文件夹。

[shared]path = /srv/samba/sharedbrowsable = yeswritable = yesguest ok = yesread only = no

以下是这些设置的含义:

  • path : 您正在共享的文件夹
  • browsable : 这使该文件夹对网络上的其他人可见
  • writable : 允许其他用户将文件写入此文件夹
  • guest ok : 允许不使用用户名或密码的访问
  • read only : 设置为 “no”,这样用户就可以向文件夹写入文件

Create Samba User

为了保护您的共享文件夹,您可能需要创建一个 samba 用户,确保只有特定的人才能访问共享文件夹。

首先,创建一个 samba 用户

sudo adduser sambauser

现在,为这个用户创建一个 samba 密码

sudo smbpasswd -a sambauser

Restart Samba

在重新启动之前,检查 samba 配置文件

testparm

重新启动 samba 服务

sudo systemctl restart smbd

Allow Samba Through the Firewall

如果启用了防火墙,则需要允许 samba 流量通过防火墙。

sudo ufw allow samba

Access Samba Share from Remote Computer

From a Windows Computer

  1. 打开 “File Explorer”
  2. 在地址栏中,输入 \\<your-ubuntu-ip-address>\shared,按回车访问
  3. 如果您设置了一个用户,系统将提示您输入用户名和密码

From Another Linux Computer

  1. 打开 “File Manager”
  2. 前往 “Network”
  3. 在列表中查找您的 Ubuntu 计算机
  4. 打开 shared 共享文件夹,如果有提示,输入用户名和密码

Secure Samba Share

如果不希望每个人都访问该文件夹,可以在配置文件中设置 “guestok = no” 来禁用访客访问。

如果只允许某些用户访问该文件夹,可以在配置文件中设置 “valid users = sambauser“ 来限制用户。

我的开源项目

酷瓜云课堂-在线教育解决方案

  • course-tencent-cloud(酷瓜云课堂 - gitee仓库)
  • course-tencent-cloud(酷瓜云课堂 - github仓库)

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

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

相关文章

MATLAB实现CNN-GRU-Attention时序和空间特征结合-融合注意力机制混合神经网络模型的风速预测

该 MATLAB 代码实现了一个基于 CNN-GRU-Attention 时序和空间特征结合-融合注意力机制混合神经网络模型的风速预测。以下是对代码的简要分析&#xff1a;一、主要功能 该代码用于风速时间序列预测&#xff0c;使用历史风速特征数据&#xff08;18个特征&#xff0c;75天&#x…

【升级版】从零到一训练一个 0.6B 的 MoE 大语言模型

前文&#xff1a;从零到一训练一个 0.6B 的 MoE 大语言模型&#xff0c;本次升级完全重新从零开始重新训练。主要升级如下&#xff1a; 替换预训练数据集&#xff0c;使用序列猴子通用文本数据集进行预训练。使用更先进的训练方法。新增思考模式控制&#xff0c;可通过添加/th…

51单片机-实现定时器模块教程

本章概述思维导图&#xff1a; 51单片机驱动定时器模块 CPU时序简介 CPU时序定义了CPU内部操作的时间节奏&#xff0c;以下从四个时序周期进行逐步解析&#xff1b; 1、振荡周期 振荡周期&#xff1a;CPU内部时钟源产生的最小时间单位&#xff0c;由晶振或内部振荡器决定&am…

7.Kotlin的日期类

以下是 Kotlin 中常用时间类&#xff08;基于 java.time 包&#xff09;的核心方法及使用示例&#xff0c;参考数组方法的表格形式&#xff0c;按类分类展示&#xff1a; 一、LocalDate&#xff08;日期&#xff1a;年/月/日&#xff09;方法签名返回值说明示例now(): LocalDat…

【Big Data】Hive技术解析:大数据仓库的SQL桥梁

Hive作为Apache顶级项目&#xff0c;是Hadoop生态系统中最具影响力的SQL查询引擎&#xff0c;它解决了大数据处理与传统SQL技能之间的鸿沟。Hive的核心价值在于将类SQL查询语言HiveQL无缝转换为分布式计算框架MapReduce的任务&#xff0c;使数据分析师能够利用熟悉的SQL语法操作…

Ubuntu2204server系统安装postgresql14并配置密码远程连接

前言&#xff1a; 最近因项目需要安装postgresql14&#xff0c;系统是ubuntu2204server系统&#xff0c;安装好后发现无法实现远程连接&#xff0c;解决了之后在此记录一下解决方法。 疑问&#xff1a; 什么情况下需要配置postgresql远程连接&#xff1f; ①如果是postgresql和…

【嵌入式】【搜集】状态机、状态迁移图及状态模式材料

文章目录状态机状态机状态机定义与核心特点状态机总结状态迁移图状态迁移图状态迁移图核心概念与要素状态迁移图常见错误与规避状态迁移图总结状态模式状态模式状态模式核心概念与组成状态模式核心价值与适用场景状态模式优缺点分析进阶优化技巧行为模式总结状态机 状态机 状…

Java学习历程14——制作一款五子棋游戏(4)

上次我们基本实现了五子棋游戏的功能&#xff0c;这次我们进行一些优化和添加一些便于用户使用的功能。新增功能及优化一、复盘功能复盘功能就是指在下完一局棋后&#xff0c;我们可以通过复盘按钮使本局棋的所有棋子重头开始自动下一遍。分析得知&#xff0c;我们首先要保存以…

记录一次el-table+sortablejs的拖拽bug

bug回顾出现bug的情况时 当编辑表格过于紧凑的时候 有些非必要编辑或需要一眼看到的数据 移动到了el-table-column typeexpand时 同事&#xff1a;怎么拖拽功能用不了了 ok开始检查代码 当原来是个简单的编辑表格 不涉及展开和简单拖拽时 不会出现问题 解决了 出现了展开行以后…

利用go sort.Sort()排序自定义切片

1 sort.Sort()简介2 核心功能3 调用前提4 代码示例 1 sort.Sort()简介 Go语言中的sort.Sort函数是标准库提供的通用排序接口 2 核心功能 核心功能支持多种类型进行快速排序 基础类型支持‌&#xff1a;内置Ints、Float64s、Strings等函数直接排序常见切片 自定义排序‌&a…

Elasticsearch脑裂紧急处理与预防

在 Elasticsearch 中出现 网络分区&#xff08;Network Partition&#xff09; 或 脑裂&#xff08;Split-Brain&#xff09; 导致两个子集群各自选出 Master 的情况&#xff0c;是非常严重的问题。比如这个场景&#xff08;20个节点分裂成两个10节点的子集群&#xff0c;各自选…

华为网路设备学习-29(BGP协议 四)路由策略-实验

示例 延伸-具体实验1.代码部分&#xff1a;基础配置R1 [Huawei]int GigabitEthernet 0/0/0 [Huawei-GigabitEthernet0/0/0]ip address 10.1.13.1 24[Huawei]int LoopBack 1 [Huawei-LoopBack1]ip address 172.16.1.1 24 [Huawei-LoopBack1]q [Huawei]int LoopBack 2 [Huawei-Lo…

500系列状态码与可能的场景

501 Not Implemented&#xff08;未实现&#xff09;HTTP 方法不支持客户端发送了 PUT、DELETE、PATCH 请求但服务器只实现了 GET 和 POST协议功能不支持客户端使用了 HTTP/2 的某些高级特性服务器只支持 HTTP/1.1&#xff0c;无法处理&#xff0c;返回 501API 接口未完成开发中…

大数据、hadoop、爬虫、spark项目开发设计之基于数据挖掘的交通流量分析研究

大数据、hadoop、爬虫、spark项目开发设计之基于数据挖掘的交通流量分析研究

Pytest项目_day20(log日志)

Log日志优点&#xff1a;记录程序运行信息&#xff0c;方便定位问题python日志模块logging&#xff0c;日志等级如下&#xff1a; DEBUGINFO&#xff08;正常&#xff09;WARNINGERROR&#xff08;报错&#xff09;示例代码如下&#xff1a;import logging import os.path impo…

elasticsearch中的分词器配置及使用

一、什么是分词器&#xff1f; 在 Elasticsearch&#xff08;ES&#xff09;中&#xff0c;分词器&#xff08;Analyzer&#xff09; 是处理文本的核心组件&#xff0c;负责将原始文本转换为可搜索的索引词&#xff08;Term&#xff09;。它是文本分析过程的核心&#xff0c;直…

《Linux 网络编程二:UDP 与 TCP 的差异、应用及问题应对》

一、UDP 与 TCP 对比表对比项UDPTCP连接方式无需建立连接有连接&#xff08;三次握手建立&#xff0c;四次挥手断开&#xff09;传输可靠性尽最大努力交付&#xff0c;可能丢包安全可靠的数据传输机制面向对象面向数据包面向数据流传输模式一对一、一对多传输本质一对一&#x…

uniapp 页面跳转及字符串转义

1. uniapp 页面跳转及字符串转义 1.1. uniapp页面跳转方法 在uniapp中,页面跳转可以通过多种方式进行,包括但不限于路由跳转和页面间事件通信。   一. 路由跳转   在uniapp中,路由跳转是指通过改变页面url的方式来跳转到不同的页面。uni-app提供了一套路由跳转的API,包…

Vue中 this.$emit() 方法详解, 帮助子组件向父组件传递事件

this.$emit()是 Vue.js 中一个很有用的方法,可以帮助子组件向父组件传递事件1、原理说明&#xff1a;在Vue中&#xff0c;this.$emit()方法用于触发自定义事件。它是Vue实例的一个方法&#xff0c;可以在组件内部使用。使用 this.$emit() 方法&#xff0c;可以向父组件发送自定…

BUCK电路的环路补偿

芯片的COMP脚是用来设计环路补偿用的&#xff0c;它给芯片内部的误差放大器的输出和PWM控制器输入做补偿&#xff0c;如果环路补偿设计得不好&#xff0c;会更容易引起环路的不稳定或振荡&#xff0c;也可能导致输出电压异常。环路补偿涉及三个指标&#xff1a;剪切频率&#x…