前言
一、检查体系需要的软件包
二、检查smbd和nmbd服务是否启用
三、检查用户是否加入用户组
四、检查是否设置了共享暗码
五、利用net usershare设置共享文件夹
六、利用smbclient访问共享文件夹
七、访问Windows共享文件夹
八、留意事项
前言
在Linux上设置共享文件夹通常有两种方式:
1. NFS(Network File System)是一个分布式文件体系协议,用于在计算机网络上访问和共享文件。NFS允许客户端机器通过网络访问远程服务器上的文件,就像访问本地文件一样。该协议允很多个客户机同时访问和修改共享文件,提供了对分布式文件体系的透明访问。
2. Samba是一个开源软件包,用于在Linux和UNIX操作体系上实现SMB/CIFS(Server Message Block/Common Internet File System)协议。SMB/CIFS是一种用于在计算机网络上共享文件、打印机和其他资源的协议。
本文主要具体讲解第二种方法的利用,另外利用的Linux是Ubuntu22.04(跟用啥Linux其实关系不大哈哈)
一、检查体系需要的软件包
利用samba来设置共享文件夹的话,那么肯定需要安装samba软件包呀,利用以下命令检察是否安装了samba软件包
好啦,这里看到Ubuntu默认没有安装对应的samba软件包,直接利用以下命令来安装
sudo apt install samba
如果只是利用命令挂载共享文件夹的话,那么这里已经具备可以设置共享文件夹的环境了,如果想要在文件管理器(Nautilus)图形界面上访问的话,还需要检查下是否安装了gvfs,不过一般Linux都是已经默认安装了gvfs,下面是gvfs的大概介绍,这里只是简单的形貌下作用,想要更加了解gvfs的作用话可以直接去GNOME的官网检察
GNOME的官网:https://www.gnome.org/
gvfs是一个捏造文件体系,它的主要功能是提供对各种文件体系的统一访问。它实际上是一个桥梁,将差别的底层文件体系(如本地文件体系、FTP、SFTP、WebDAV等)映射到一个捏造文件体系中,使得用户可以通过统一的接口来访问这些文件体系。
二、检查smbd和nmbd服务是否启用
smbd和nmbd是samba的两个核心的保卫进程,想要完整的利用samba的功能的话两个服务都需要是启动的状态,因为有些Linux上会默认将该两个进程stop的,所以需要提前检查下服务的状态
smbd.service是Samba服务器的主要服务,它负责提供文件和打印共享服务。通过该服务,其他计算机可以访问Samba服务器上的共享文件夹和打印机,从而实现文件共享和打印功能。
nmbd.service是Samba服务器的NetBIOS名称服务(NetBIOS Name Service)服务。NetBIOS是一种网络协议,用于在局域网中识别和探求网络上的计算机。nmbd.service负责维护网络上计算机的NetBIOS名称列表,并提供名称解析功能。通过该服务,计算机可以通过NetBIOS名称找到Samba服务器,从而实现网络共享服务。
利用以下命令来检查smbd.service和nmbd.service两个服务状态
如果服务是stop的状态,那么利用以下命令来启动和开机自启动
systemctl start smbd.service
systemctl enable smbd.service
systemctl start nmbd.service
systemctl enable nmbd.service
三、检查用户是否加入用户组
加入sambashare用户组作用:可以让用户具有共享文件夹的权限,可以读取、写入和修改共享文件夹中的文件
利用以下命令检察当前用户是否加入sambashare用户组
好啦,目前默认加入了sambashare用户组,如果没有加入的话,请利用下面命令加入用户组,并且重启后再举行后面的操作
没有加入用命令加入: usermod -a -G sambashare 用户名
四、检查是否设置了共享暗码
想要利用账号暗码登录的话当然要设置下共享暗码啦,否则你怎么知道是什么暗码呢,利用以下命令设置samba暗码
成功设置了samba暗码,如果过了很久之后你忘记samba暗码了呢,那怎么办呀,不要急呀总会有办法滴
再次利用sudo smbpasswd -a 用户名再次设置就好啦!!!
五、利用net usershare设置共享文件夹
前面都是铺垫,最后一步设置共享文件夹
利用net usershare命令设置共享文件夹
net usershare add "共享名" /home/kylin/文件名 "备注名" Everyone:R guest_ok=y
这里的参数如下:
Everyone:R | 设置Everyone用户为只读权限 | Everyone:F | 设置Everyone用户为可写权限 | Everyone | 设置Everyone用户为拒绝权限 | guest_ok=y | 允许匿名访问 | guest_ok=n | 不允许匿名访问 | 还有很多该命令的其他参数和具体,那就需要看man手册啦,或者去找其他资料,这里就不一一列举啦
六、利用smbclient访问共享文件夹
如果我们只需要利用命令访问的话,那么我们可以用smbclient命令来访问,体系默认大概没有集成这个包,那么我们需要手动安装下
安装后可以利用以下命令登录访问共享文件夹啦
七、访问Windows共享文件夹
这里想要访问其他IP的共享文件夹的话跟访问本地共享文件夹还是有肯定的区别的,起首我们先检查下网络是否都可以ping通
芜湖,直接可以ping通,这里我是利用的捏造机,捏造机利用的桥接模式,如果你不知道怎么设置的话,再网上继承找下相关设置以及捏造机网络设置和讲解吧,这里我就不讲解了哦
另外检查下Windows的防火墙是否关闭,检查下Linux上的防火墙是否也关闭,当然多数Linux上并没有默认设置防火墙,包管上面两点正常后,那么我们继承可以使smbclient命令来访问共享文件夹
八、留意事项
1. 设置了当前共享文件夹有可写权限的话,那么需要增加当前文件夹的other的写权限
2. 设置了匿名访问的话需要设置当前目次以及这个目次的父目次的other的可执行权限
否则的话,不管利用命令访问还是利用图形界面访问都是会导致报错没有权限的问题
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |