使用 SMB 协议从win10电脑访问同网段ubuntu电脑文件

​​​​​​1.在 Ubuntu 上设置共享文件夹

在终端中运行以下命令安装 Samba:

sudo apt update
sudo apt install samba

编辑 Samba 配置文件:

sudo nano /etc/samba/smb.conf

在文件末尾添加以下内容(假设要共享 用户dy下的Downloads目录),path:需要共享的文件夹名称,writable:可写,browsable可被浏览,valid users指出有效的用户,即哪个Ubuntu用户可被共享,guest ok:访客访问这个共享。create mask用于设置新创建文件的权限,directory mask用于设置新创建文件夹的权限。在这里,0777是权限的八进制表示形式,这意味着新创建的文件和文件夹都将具有读、写、执行权限,对于所有者、所属组和其他用户都是开放的。

[shared]

comment = Shared Folder

path = /home/dy/Downloads

writable = yes

browsable = yes

valid users = dy

guest ok = yes

create mask = 0777

directory mask = 0777
2.添加 Samba 用户(这里的用户名为dy)并在弹出的窗口设置密码,注意:这里的用户名是Ubuntu系统已有的用户的名字,密码却是为samba共享文件单独设置的访问密码,并不是Ubuntu系统用户的登录密码:

sudo smbpasswd -a dy
sudo systemctl restart smbd

3.windows系统的必要条件

.确保 Windows 防火墙没有阻止访问 Samba 共享

如果被防火墙阻止,打开 Windows 防火墙设置 。添加新的入站规则:允许 TCP 端口 137, 138, 139, 445和允许 UDP 端口 137, 138, 139, 445。

.确保 Windows 的网络发现和文件共享功能已启用

控制面板-->选择"网络和共享中心-->更改高级共享设置-->启用网络发现和文件共享。

.确保两台电脑处于同一网段

Windows获取本机IP地址的方法:命令行终端输入ipconfig回车

Ubuntu获取本机IP地址的方法:命令行终端输入ip addr show

4.使用

满足条件后,在Windows的浏览器地址栏输入:\\<ubuntu电脑的IP>\shared\,在弹出的窗口输入用户名和密码即可。例如:\\192.168.10.60\shared\。

5.一些基本操作和注意事项

smbpasswd命令

smbpasswd命令用于添加或修改 Samba 用户的密码。其基本语法是

smbpasswd [选项] [用户名]

例如,如果修改用户名为dy的 Samba 用户密码,运行命令:

sudo smbpasswd dy

然后系统会提示输入新密码,需要输入两次来确认密码。在输入密码时,出于安全考虑,密码不会显示在屏幕上。
选项说明

-a:用于添加新的 Samba 用户。例如,sudo smbpasswd -a new_user可以添加名为new_user的 Samba 用户,并会提示为这个新用户设置密码。

-d:禁用一个 Samba 用户。例如,sudo smbpasswd -d user_to_disable会禁用名为user_to_disable的用户,使其无法登录 Samba 共享服务。

-e:启用一个被禁用的 Samba 用户。与-d选项相反,sudo smbpasswd -e user_to_enable可以重新启用名为user_to_enable的用户。

pdbedit -L命令

pdbedit是一个用于管理 Samba 用户数据库的工具。pdbedit -L命令用于列出所有 Samba 用户的信息。这些信息包括用户名、用户 ID(UID)、组 ID(GID)和其他相关的账户细节。

sudo pdbedit -L

注意: Samba 用户是基于系统用户创建的,也就是说,在添加 Samba 用户之前,需要确保该用户已经是系统用户。sudo smbpasswd -a new_user,如果尝试添加的用户在Ubuntu系统中不存在,就会出现添加失败的情况。

如果在成功访问之后,在Windows内保存了访问凭证,下次访问就可以不用输入用户名和密码。但是,在Ubuntu端修改过密码后,就会导致Windows内保存的凭证失效。那么就需要在Windows的控制面板-->凭据管理器-->Windows 凭据内找到已保存的凭据并编辑密码后保存:

或者将其删除,更彻底。重启Windows,就可以访问。

相关推荐
长安 故里8 分钟前
TiDB v7.5.4安装部署
java·linux·tidb
运维佬12 分钟前
在Linux环境下部署TiDB可以通过几种不同的方法
linux·docker·tidb
孤邑40 分钟前
【Linux】Ubuntu中muduo库的编译环境安装
linux·服务器·ubuntu
yiyayi@che1 小时前
Jetson ros默认依赖opencv与系统安装opencv、推流、cv_bridge等存在BUG
linux
谁在夜里看海.2 小时前
【Linux】详解僵尸进程与孤儿进程(Z僵死状态引发的内存泄漏与处理办法)
linux·运维·服务器
tpoog2 小时前
[Linux]多线程详解
java·linux·redis
一个没有本领的人2 小时前
Ubuntu24.04挂载磁盘
开发语言·数据库·ubuntu
基极向上的三极管2 小时前
【Linux学习】【Ubuntu入门】1-4 ubuntu终端操作与shell命令1
linux·ubuntu
命里有定数2 小时前
Ubuntu问题 -- 当安装使用dpkg命令安装deb包时, 安装失败, 提示缺少依赖 (一行命令搞定)
linux·运维·ubuntu·deb
程序员JerrySUN2 小时前
安全机制解析:深入SELinux与权限管理
linux·嵌入式硬件·物联网·安全