windows 作为服务器,linux作为客户端进行文件共享,有3种方法:samba nfs(网络硬盘)虚拟机共享(VirtualBox vboxsf)。
Samba 共享:
打开【控制面板】-->【启动或关闭windows功能】-->【SMB1.0/CIFS 文件共享支持】-->重启电脑
打开 【Window 安全中心】关闭病毒和威胁防护(否则linux 回写会导致性能下降)
增加访问用户和密码,“”我的电脑“”右键 管理--->本地用户和组,增加对应的访问用户和密码;
到磁盘中选择需要共享的文件夹,选中文件夹【属性】-> 【共享】->【共享】->添加【创建的用户】用户 -> 权限【读取/写入】设置密码访问和保护。
进入linux 安装cifs 工具和mount
sudo apt-get install -y cifs-utils
mkdir -p /home/xxxx/winshare
sudo mount -t cifs -o username=xxxxx,password=123456 //192.168.107.95/winshare /home/xxxx/winshare
或者打开linux 桌面目录进行Samba 范围:
smb://192.168.107.95/winshare 进行链接。
或者 smbclient 命令进行访问
sudo apt-get install smbclient
smbclient --user=chengf //192.168.107.95/winshare
Enter share’s password: (输入密码回车)
smb: >
nfs(网络硬盘)方式:
打开网页:Networking Software for Windows (hanewin.net)
下载 NFS Server 进行安装设置
关闭防火墙或设置nfs 防火墙通道设置,设置方法参考:
WINDOWS搭建NFS服务器_win7搭建nfs服务器-CSDN博客
进入linux:
sudo apt-get install nfs-kernel-server
apt-get install nfs-common
sudo mount -t nfs -o nolock 192.168.1.7:/winnfs /home/xxxx/netdisk
虚拟机共享,以VirtualBo 为例:
按照虚拟机扩展插件:
在virtualbox 官网上下载扩展插件,然后进行安装:
或者进入虚拟机,在工具栏选择安装“安装增强功能”;
然后设置共享目录和挂载目录:
重启虚拟机或取消自动挂载进行手动mount。
sudo mount -t vboxsf win2linux /home/xxxxx/win2linux
通过比较以上方式,nfs 可以在linux 端无权限进行读写访问,但是nfs 工具haneWIN 有30天试用期 license;VBoxsf 和 cifs 默认mount后的访问目录为root 所有者,均需要root 或sudo 权限进行读写。需要解决权限问题,如果你希望挂载后目标目录的所有者是当前用户,可以尝试使用uid
和gid
选项来指定用户和组ID,
mount -t cifs //服务器地址/共享名 /挂载点 -o username=用户名,password=密码,uid=当前用户uid,gid=当前用户gid
sudo mount -t cifs -o username=xxx,password=123456,uid=xxx,gid=xxx //192.168.107.95/winshare /home/xxx/winshare
sudo mount -t vboxsf -o uid=xxx,gid=xxx win2linux /home/xxx/win2linux
samba 通过桌面目录访问,可以不需要root 权限,但是目录非常长:
/run/user/1000/gvfs/smb-share:server=192.168.107.95,share=winshare
操作非常不方便.
在共享环境网络稳定的情况下,可以通过/etc/fstab 进行编辑增加
//192.168.107.95/winshare /home/xxx/winshare username=xxx,password=123456,uid=xxx,gid=xxx 0 0
win2linux /home/xxx/win2linux vboxsf uid=xxx,gid=xxx 0 0