Ubuntu 开启 SMB 服务,并通过 windows 访问

news/2025/1/19 20:56:36/

背景资料

  • Ubuntu服务器折腾集
  • Ubuntu linux 文件权限
  • Ubuntu 空闲硬盘挂载到 文件管理器的 other locations

    Ubuntu开启samba和window共享文件

Ubuntu 配置 SMB 服务

安装 Samba

确保 Samba 已安装。如果未安装,运行以下命令进行安装:

sudo apt update
sudo apt install samba

创建 Samba 用户

为你的 Linux 用户创建一个 Samba 账户share:

sudo smbpasswd -a share

输入并确认密码。
这个用户名和密码就是之后从windows登录需要用的

创建共享目录的权限

我已经把我的闲置硬盘挂载到了/media/mydisk 目录,下面依照 Ubuntu linux 文件权限设置文件夹权限。

sudo chown -R share:share /media/mydisk
sudo chmod -R 775 /media/mydisk

上面代码把我要共享的文件夹/media/mydisk设置owner为 share,所属group为share,并把这个文件夹的所有者和所属组设置 读写执行权限,其他用户有读、执行权限。

设置文件夹所属组

我想ubuntu本地用户 AAA 对这个/media/mydisk文件夹有读写执行权限,只需要把 AAA 这个用户加入到 share 这个组.

sudo usermod -aG share AAA

要验证 AAA 用户是否已加入 share 组,可以使用以下命令:

groups AAA

如果 share 出现在输出中,说明用户 AAA 已成功加入该组。

配置 Samba

编辑 Samba 的配置文件:

sudo vim /etc/samba/smb.conf

在文件末尾/添加以下内容:

[SMB_Shared]path = /media/mydiskbrowseable = yeswritable = yesread only = noguest ok = yesvalid users = share

path: 要共享的目录路径。
valid users: 限制访问的用户(如:myuser,可替换为你的用户名)。
如果允许匿名访问,将 guest ok 设置为 yes,并删除 valid users 行。

重启 Samba 服务

重启 Samba 服务以应用配置更改:

sudo systemctl restart smbd
sudo systemctl enable smbd

配置防火墙(如适用)

如果启用了防火墙,需要允许 Samba 端口:

sudo ufw allow samba
sudo ufw reload

windows 登录

在windows文件管理器地址栏输入 \\ubuntu的ip地址或者\\ubuntu的ip地址\SMB_Shared\就能看到,其中 SMB_Shared 是在smb.conf中定义的

遇到问题

windows 连接 ubuntu 共享文件夹报错 Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again

原因是我之前windows登录过ubuntu同样IP下的共享文件夹,但是当初文件权限问题设置有问题,重装SMB后,没有重启windows电脑.

内网穿透远程访问

Ubuntu 安装 tailscale 并访问 SMB共享文件夹


http://www.ppmy.cn/news/1564497.html

相关文章

面试题解析

1、写一个sed命令,修改/tmp/input.txt文件的内容 要求: 删除所有空行; 在非空行前面加一个"AAA",在行尾加一个"BBB",即将内容为11111的一行改为:AAA11111BBB 创造测试文件:…

计算机网络 | IP地址、子网掩码、网络地址、主机地址计算方式详解

关注:CodingTechWork 引言 在计算机网络中,IP地址、子网掩码和网络地址是构建网络通信的基本元素。无论是企业网络架构、互联网连接,还是局域网(LAN)配置,它们都起着至关重要的作用。理解它们的工作原理&a…

for循环语句题目

for循环&#xff1a; 1整数的个数 给定k(1<k<100)个正整数&#xff0c;其中每个数都是大于等于1&#xff0c;小于等于10的数。写程序计算给定的k个正整数中&#xff0c;1&#xff0c;5和10出现的次数。 #include <stdio.h> int main(){ int k,n; int sum0;…

es 3期 第24节-运用SQL简化DSL查询

#### 1.Elasticsearch是数据库&#xff0c;不是普通的Java应用程序&#xff0c;传统数据库需要的硬件资源同样需要&#xff0c;提升性能最有效的就是升级硬件。 #### 2.Elasticsearch是文档型数据库&#xff0c;不是关系型数据库&#xff0c;不具备严格的ACID事务特性&#xff…

Windows 蓝牙驱动开发-BLE低功耗

蓝牙的版本为1.0 ~5.2版本&#xff0c;蓝牙1.0~3.0都是经典蓝牙(rfcomm)。而蓝牙4.0开始就是包括蓝牙BLE了。蓝牙4.0的蓝牙芯片都是双模的&#xff0c;既包括经典蓝牙也包括低能耗蓝牙。经典蓝牙和蓝牙BLE完全是两个东西&#xff0c;只是它们在底层上有一些相似的地方。蓝牙BLE…

SpringBoot开发——Spring Boot 3.3实现多端数据一致性的实时数据同步方案

文章目录 1、基于WebSocket的即时推送2、利用Kafka实现异步数据同步3、数据库变更监听与触发小结 在数字化浪潮下&#xff0c;业务横跨Web端、移动端&#xff0c;数据实时同步成了刚需。 Spring Boot 3.3携强大方案登场&#xff0c;为多端数据一致性难题精准“破局”。 1、基于…

电机驱动-标准库和HAL库

一、标准库 Motor.c-标准库 #include "stm32f10x.h" // Device header #include "PWM.h"/*** 函 数&#xff1a;直流电机初始化* 参 数&#xff1a;无* 返 回 值&#xff1a;无*/ void Motor_Init(void) {RCC_APB2PeriphClockCmd…

golang标准库path/filepath使用示例

文章目录 前言一、常用方法示例1.将相对路径转换为绝对路径2.获取路径中最后一个元素3.获取路径中除去最后一个元素的部分4.路径拼接5.将路径拆分为目录和文件名两部分6.返回一个相对路径7.文件路径遍历8.根据文件扩展名过滤文件9.使用正则表达式进行路径匹配 前言 path/filep…