windows上每个账号远程登录后,每个用户独立挂载linux存储的某个路径,如何实现

要在 Windows 上为每个用户实现独立挂载 Linux 存储的某个路径,核心是利用 ‌Samba 服务‌ 在 Linux 端配置共享,并在 Windows 端为每个用户单独映射网络驱动器。每个 Windows 用户登录后,系统会保存其独立的网络驱动器映射信息,从而实现"每个账号独立挂载"的效果。

以下是实现步骤:

Linux 端配置 Samba 共享

‌安装 Samba 服务‌

根据你的 Linux 发行版,使用相应的包管理器安装 Samba。

Ubuntu/Debian

sudo apt update

sudo apt install samba samba-common-bin

CentOS/RHEL/Fedora

sudo yum install samba samba-client samba-common

或者对于较新版本

sudo dnf install samba samba-client samba-common

‌创建共享目录和用户‌

为每个需要访问的 Linux 用户创建一个对应的系统账户(如果尚未存在),并为其设置 Samba 密码。

创建系统用户(如果不存在)

sudo useradd username1

sudo useradd username2

为每个用户设置 Samba 密码(此密码与系统登录密码可以不同)

sudo smbpasswd -a username1

sudo smbpasswd -a username2

‌配置 Samba (smb.conf)‌

编辑 Samba 配置文件,为每个用户创建一个独立的共享段。推荐使用 homes 部分来自动共享每个用户的家目录,或者手动为每个用户创建独立的共享。

workgroup = WORKGROUP

security = user

map to guest = bad user

如果需要通过公网访问且445端口被封,可指定其他端口

smb ports = 4450 1390

方案A: 自动共享所有用户的家目录 (推荐)

comment = Home Directories

browseable = no

writable = yes

valid users = %S

create mask = 0664

directory mask = 0775

方案B: 手动为每个用户创建独立共享 (示例)

#[username1_share]

#comment = Home for username1

#path = /home/username1

#browseable = no

#writable = yes

#valid users = username1

#create mask = 0664

#directory mask = 0775

#[username2_share]

#comment = Home for username2

#path = /home/username2

#browseable = no

#writable = yes

#valid users = username2

#create mask = 0664

#directory mask = 0775

‌说明‌:valid users = %S 表示只有与共享名同名的用户才能访问,这天然地实现了用户隔离。browseable = no 使共享目录在"网络"中不可见,需要通过路径手动访问,增加安全性。

‌重启 Samba 服务并配置防火墙‌

重启服务

sudo systemctl restart smb nmb

设置开机自启

sudo systemctl enable smb nmb

开放防火墙端口 (必须开放445端口)

sudo firewall-cmd --permanent --add-service=samba

sudo firewall-cmd --reload

或者手动开放端口

sudo firewall-cmd --permanent --add-port=445/tcp

sudo firewall-cmd --reload

Windows 端为每个用户映射网络驱动器

‌以用户身份登录 Windows‌

每个 Windows 用户需要使用自己的账户登录系统。

‌映射网络驱动器‌

打开"此电脑"或"文件资源管理器"。

点击顶部菜单的"计算机"或"此电脑" -> "映射网络驱动器"。

选择一个驱动器字母(如 Z:)。

在"文件夹"字段中输入 Linux 服务器的 Samba 共享路径:

如果使用了 homes 共享:\<Linux服务器IP>\username1

如果使用了手动共享:\<Linux服务器IP>\username1_share

勾选"使用其他凭据连接"。

点击"完成"。

‌输入凭据‌

在弹出的认证窗口中,用户名填写格式为:<Linux服务器IP>\username1 或 WORKGROUP\username1。

密码填写在 Linux 端通过 smbpasswd -a 设置的 Samba 密码。

勾选"记住我的凭据"(可选,但推荐,以便下次自动登录)。

‌验证‌

成功后,该用户在"此电脑"下会看到映射的网络驱动器。当该用户注销并重新登录时,Windows 会自动重新连接该网络驱动器,且其访问权限仅限于其自己的家目录或指定共享目录,与其他用户完全隔离。

关键点总结

‌用户隔离‌:通过 Samba 的 valid users = %S 配置和 Windows 的"使用其他凭据连接"功能,确保每个 Windows 用户只能访问自己被授权的 Linux 目录。

‌凭据管理‌:Windows 会为每个登录用户存储独立的网络驱动器映射和凭据,这是实现"每个账号独立"的关键。

‌端口要求‌:Windows 访问 Samba 共享必须能访问 Linux 服务器的 ‌445 端口‌。‌

相关推荐
0xDevNull4 小时前
Linux切换JDK版本详细教程
linux
进击的丸子4 小时前
虹软人脸服务器版SDK(Linux/ARM Pro)多线程调用及性能优化
linux·数据库·后端
甲鱼9291 天前
MySQL 实战手记:日志管理与主从复制搭建全指南
运维
Johny_Zhao2 天前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
阿白的白日梦2 天前
winget基础管理---更新/修改源为国内源
windows
chlk1233 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑3 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件3 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒3 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号4 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移