【背景】
现在有一台windows系统(win10)电脑,有一台linux系统(debian9)电脑,有两个需求,我在Windows下面可以访问Linux系统的文件夹,在Linux下面可以访问Windows下面的文件夹。
Windows访问Linux系统的文件夹
【第一步】
这个功能实现需要在Linux系统上面安装samba。首先更换一下Linux系统的源(操作前请做好相应的备份)。直接编辑 /etc/apt/sources.list
文件(需要使用 sudo)。以下是 Debian Stable 参考配置内容(中科大的源):
1 | deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free |
更改完 sources.list 文件后请运行 sudo apt-get update
更新索引以生效。
【第二步】
Linux安装Samba
1 | sudo apt-get install samba |
安装完成后,执行下面这条语句,看看samba是安装在哪个文件夹
1 | sudo find / -name samba |
我的是安装在 /usr/share/samba
这个目录下面,进入到这个目录中,找到 smb.conf 文件,打开这个文件并编辑,在文件的最后面添加如下内容:
1 | [linux_share] |
由于我没创建用户,倒数三四两行我没写
编辑好之后保存,然后运行如下命令重新加载 smb.conf,并重启 samba
1 | /usr/sbin/service smbd reload //重新加载smb.conf |
【注】我的Linux系统找不到 service 命令,于是我又找到另一种方法
在 /etc/init.d/
目录下面,找到了 smbd 服务,运行以下命令即可
1 | sudo ./smbd reload |
查看samba运行状态是否正常运行:
1 | systemctl status smbd |
【第三步】
ifconfig 命令找到 Linux 系统的 IP 地址,我查询到的是 192.168.100.31,你的 Windows 系统要和你的 Linux 系统在同一个网段下面才可以访问。
关闭防火墙,找不到命令 Unit firewalld.service not loaded.
, 安装 firewalld,sudo apt-get install firewalld
。
执行 sudo systemctl stop firewalld.service
或者 /usr/sbin/service firewalld stop
关闭防火墙
使用 systemctl disable firewalld.service
彻底关闭防火墙
在Windows系统,win+R键,输入
1 | \\你的IP地址 //我的是 \\192.168.100.31 即可看到你共享的文件夹 |
如果还是看不到文件夹,那么尝试下面这种方法
启用Windows SMB功能
Win10自带的 CIFS 文件共享支持 默认没有启用,因此无法访问samba共享出来的文件夹 ,搜索 Windows 功能,选择启用或关闭Windows功能,在弹窗中下拉找到 SMB 1.0/CIFS File Sharing Support(或CIFS 文件共享支持),勾选确认重启即可
Linux下面访问Windows下面的文件夹
【第一步】
在Windows下面新建一个文件夹,然后右击 -> 属性 -> 共享 -> 共享 -> 添加Everyone -> 共享 -> 完成。
【第二步】
sudo apt install cifs-utils
安装cifs协议
ipconfig
查看你的 Windows IP地址,执行
1 | sudo mount -t cifs //172.16.13.48/debiantest /home/debian/Desktop/share |
挂载成功以后,你在 linux share文件夹下面新建的文件,会在 Windows 下的文件夹同步显示。
【第三步】
我的 第二步挂载失败,报错 :
1 | mount error : cifs filesystem not supported by the system mount |
应该是我的系统不支持 cifs 协议,再确认一下是不是系统的问题
1 | zgrep -i cifs /proc/config.gz |
执行以后,返回
1 | # CONFIG_CIFS is not set |
估计是系统不支持 CIFS 协议,后来和厂家沟通,厂家给了两个deb包,安装可以了
安装包的百度云链接:
链接:https://pan.baidu.com/s/1tM9pghmo9UI_ENkMGRR_ug
提取码:hdha
将安装包拷贝到 Linux 系统,运行如下命令:
1 | sudo dpkg -i linux-headers-4.9.11_4.9.11-2_armhf.deb |
再执行
1 | sudo /sbin/modprobe fuse |
最后再执行【第二步】即可。
【笔记】
1 | #以下命令无效 |