【linux】linux挂载网络磁盘-挂载windows的smb共享文件夹
windows的文件夹挂载到linux中,然后linux跑代码读写windows里的文件
Linux 挂载 Windows SMB 共享文件夹指南
1. 前置准备
1.1 安装必要软件包
sudo apt-get update
sudo apt-get install cifs-utils
1.2 创建挂载点
sudo mkdir /mnt/windows_share
2. 挂载方法
2.1 临时挂载(重启后需要重新挂载)
sudo mount -t cifs //WINDOWS_IP/共享文件夹名 /mnt/windows_share -o username=windows用户名,password=密码
2.2 永久挂载配置
编辑 /etc/fstab
文件:
sudo nano /etc/fstab
添加以下内容:
//WINDOWS_IP/共享文件夹名 /mnt/windows_share cifs username=windows用户名,password=密码,iocharset=utf8,vers=3.0 0 0
3. 权限设置
3.1 获取用户 UID 和 GID
有多种方法可以获取当前用户的 uid 和 gid:
# 方法1:显示所有信息
id
# 方法2:只显示 uid
id -u
# 方法3:只显示 gid
id -g
# 方法4:查看当前用户名
whoami
# 方法5:通过 passwd 文件查看
grep $USER /etc/passwd
3.2 使用 UID 和 GID 挂载
sudo mount -t cifs //WINDOWS_IP/共享文件夹名 /mnt/windows_share -o username=windows用户名,password=密码,uid=$(id -u),gid=$(id -g)
4. 常见问题处理
4.1 Device or resource busy 错误
如果遇到 “Device or resource busy” 错误,按以下步骤处理:
- 检查现有挂载
mount | grep windows_share
- 卸载已有挂载
sudo umount /mnt/windows_share
- 如果普通卸载失败,查看占用进程
lsof | grep windows_share
- 强制卸载
sudo umount -f /mnt/windows_share
- 延迟卸载(最后手段)
sudo umount -l /mnt/windows_share
4.2 其他故障排除方法
- 重启 SMB 服务
sudo systemctl restart smbd
- 检查系统日志
dmesg | tail
5. 注意事项
- 确保 Windows 和 Linux 系统都已启用 SMB 服务
- 记得替换命令中的占位符:
WINDOWS_IP
:Windows 系统的 IP 地址共享文件夹名
:Windows 上的共享文件夹名称windows用户名
和密码
:Windows 账户凭据
- 如果在同一工作组中,可能需要添加 workgroup 选项
- 挂载前确保挂载点目录为空
- 建议使用 uid 和 gid 参数来确保正确的文件访问权限
- 定期检查连接状态,特别是在网络不稳定的情况下
6. 验证挂载
# 查看挂载情况
df -h
# 测试读写权限
touch /mnt/windows_share/test.txt