Ubuntu 与 Windows 实现文件夹共享
Ubuntu20.04 与 Windows 实现文件夹共享
Linux 中 Samba 的下载与配置
sudo update apt #更新工具包sudo apt install samba # 下载 Sambasudo 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 中访问共享文件夹
“Win + E”
打开资源管理器- 输入
\\[your_linux_ip]\[your_sharedDirName]
,然后回车 - 输入之前配置的用户名和密码
- 如果连接成功,这个共享文件夹就会在资源管理器中显示为一个网络驱动器。
- 将需要共享的文件夹复制、粘贴到映射的网络驱动器上
- 操作结束
问题及解决
这时候发现,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