I love three things in the world,sun,moon,and you. sun for morning, moon for night and you forever.

0%

debian安装cifs协议

【背景】

现在有一台windows系统(win10)电脑,有一台linux系统(debian9)电脑,有两个需求,我在Windows下面可以访问Linux系统的文件夹,在Linux下面可以访问Windows下面的文件夹。

Windows访问Linux系统的文件夹

【第一步】

这个功能实现需要在Linux系统上面安装samba。首先更换一下Linux系统的源(操作前请做好相应的备份)。直接编辑 /etc/apt/sources.list 文件(需要使用 sudo)。以下是 Debian Stable 参考配置内容(中科大的源):

1
2
3
4
5
6
7
deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian stable main contrib non-free
deb http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free

# deb http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian stable-proposed-updates 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
2
3
4
5
6
7
8
9
10
11
[linux_share]
comment = This is a Shared folder for Linux #共享描述
path = /home/debian/Desktop/linux_share #共享目录路径
public = yes #允许guest用户访问
writable = yes #允许在linux_share目录下写入
directory mask = 0775 #默认创建目录权限 rwxrwxrwx
create mask = 0775 #默认创建文件权限 rwxrwxrwx
//valid users = root #允许访问该共享的用户
//write list = root #可写入共享的用户列表
browseable = yes #该指定共享目录可浏览
available = yes #该指定共享资源可使用

由于我没创建用户,倒数三四两行我没写

编辑好之后保存,然后运行如下命令重新加载 smb.conf,并重启 samba

1
2
3
/usr/sbin/service smbd reload   //重新加载smb.conf

/usr/sbin/service smbd restart //重启 samba

】我的Linux系统找不到 service 命令,于是我又找到另一种方法

/etc/init.d/ 目录下面,找到了 smbd 服务,运行以下命令即可

1
2
3
sudo ./smbd reload

sudo ./smbd restart

查看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
2
sudo mount -t cifs //172.16.13.48/debiantest    /home/debian/Desktop/share
#注释 windowsIP地址 windows共享文件名 linux下面的文件路径

挂载成功以后,你在 linux share文件夹下面新建的文件,会在 Windows 下的文件夹同步显示。

第三步

我的 第二步挂载失败,报错 :

1
2
3
mount error : cifs filesystem not supported by the system mount

error(19): No such device

应该是我的系统不支持 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
2
sudo dpkg -i linux-headers-4.9.11_4.9.11-2_armhf.deb
sudo dpkg -i linux-image-4.9.11_4.9.11-2_armhf.deb

再执行

1
2
3
4
sudo /sbin/modprobe fuse
sudo /sbin/modprobe cifs

sudo lsmod | grep cifs //查看cifs是否运行

最后再执行【第二步】即可。

笔记

1
2
3
#以下命令无效
sudo apt install selinux-utils
sudo /usr/sbin/getenforce
-------------本文结束 感谢您的阅读-------------