Ubuntu 与 Windows 实现文件夹共享

发布于:2025-06-15 ⋅ 阅读:(15) ⋅ 点赞:(0)

Ubuntu20.04 与 Windows 实现文件夹共享

Linux 中 Samba 的下载与配置

sudo update apt		#更新工具包

sudo apt install samba		# 下载 Samba

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak		# 尽量备份一下

sudo vim /etc/samba/smb.conf	# 修改配置文件

# 添加以下内容,其中
[shared]			# 共享文件夹的名称,与 path 中的文件夹名称一致,用于标识这个共享配置
path = /home/[username]/shared		# 在当前用户的目录下创建 shared 文件夹用于共享
available = yes		# 表示这个共享是否可用
valid users = [username]	# 允许访问的用户列表
read only = no		# 是否只读
browsable = yes		# 是否可以在网络邻居中被浏览到
public = yes		# 是否允许匿名访问,但是受 valid users 的限制
writable = yes		# 是否可以进行写操作

# 退出编辑器

# Samba 的用户管理操作,必须要新添加用户,最好与当前 Linux 系统用户一致
sudo pdbedit -L					# 查看 Samba 用户列表

sudo smbpasswd -a [username]	# 添加 Samba 用户,然后按要求设置密码

sudo smbpasswd [username]		# 修改密码

sudo smbpasswd -x [username]	# 删除用户

sudo ufw allow samba		# 防火墙设置,允许通过

sudo system restart smbd	# 重启服务

sudo mkdir /home/hao/shared					# 创建文件夹
sudo chmod -R 777 /home/[username]/shared	# 修改访问权限

Windows 中访问共享文件夹

  1. “Win + E”打开资源管理器
  2. 输入\\[your_linux_ip]\[your_sharedDirName],然后回车
  3. 输入之前配置的用户名和密码
  4. 如果连接成功,这个共享文件夹就会在资源管理器中显示为一个网络驱动器。
  5. 将需要共享的文件夹复制、粘贴到映射的网络驱动器上
  6. 操作结束

问题及解决

这时候发现,Windows 显示已经共享过去,但是 Linux 中找不到,比如:

ls
# 但是不输出共享的文件

因为此时的文件还未挂载

解决

# 确保已安装cifs-utils工具包,以便支持 CIFS 文件系统:
sudo apt update
sudo apt install cifs-utils
# 确保挂载点存在
sudo mkdir -p /mnt/samba_shared

# 挂载点与共享位置关联
sudo mount -t cifs -o username=[your_name],password=[your_password],vers=3.0 //[your_ip]/[前面的共享标识] /mnt/samba_shared

# -t cifs:指定文件系统类型为 CIFS(Common Internet File System),这是 Samba 使用的文件系统协议。
# -o:指定挂载选项,包括用户名、密码和协议版本等。
# username=your_name:Samba 服务的用户名。
# password=your_password:Samba 服务的密码。
# vers=3.0:指定使用的 SMB 协议版本。
# //192.168.11.111/shared:Samba 服务器的共享路径。
# /mnt/samba_shared:本地挂载点。

# 挂载成功后,通过ls命令查看挂载点下的文件
ls /mnt/samba_shared

# 卸载挂载点
sudo umount /mnt/samba_shared

# 检查挂载状态
mount | grep cifs

# 确保 smbd 运行
sudo systemctl status smbd
sudo systemctl start smbd