[Linux]在Ubuntu中安装samba并且正确配置(具体)

守听  金牌会员 | 2024-12-16 20:08:41 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 810|帖子 810|积分 2430

一、我们为什么须要samba服务

        samba是一种实现windows和linux包括macos文件共享的套件。它能让我们像访问本身的磁盘一样去访问别的体系的文件。可以看得出来这种一种快速并且高效的文件传输协议。看到这里,大家可能会有些疑问。向linux传输文件,我们可以利用SFTP服务,为什么我们还须要安装一种单独的协议来传输文件?下面我们就来讲讲相比SFTP,samba的上风。首先就是,在局域网中,我们想要访问linux中的文件或者想要上传文件,我们确实可以利用SFTP,但是这种操作方式可能会依赖一些图形化的软件,并且在操作上有没有原本的文件管理器中操作方便。在此,我们引入samba,samba能将linux的文件目次直接映射到windows,在windows中我们可以像访问本身的磁盘一样访问这些文件或者目次,其中的操作都是和windows互通,我们也可以利用windows中的软件对文件进行操作,比如我们可以利用windows的解压软件去解压linux下的文件。其次就是,利用samba我们可以直接利用windows的IDE去打开linux中的工程,在linux是无图形化或者图形化适配比较差时,能够大大提高我们的开发服从。然后,因为samba能够直接将文件夹映射出来同时也有利于在局域网情况下大家协同开发一个项目。云云可见,samba有云云多良好的地方,那我们的SFTP不就一无是处了吗?当然不,想必大家应该都有注意到,我上面提到了很多都是在局域网的情况下,是的,在近距离传输文件时我们确实可以利用samba,但是一旦涉及到远距离传输,可能samba就没有那么合适了,在远距离的网络传输中,我们不仅要考虑便捷,还要考虑安全性,这两者都兼顾的想必SFTP才是首选,它基于SSH协议,有较高的安全性。当然,假如不在意安全性的问题,就可以直接利用samba。下面我们就来看一下如何在Ubuntu中安装和利用samba吧!
二、安装Samba

        前面也提到了,samba服务主要用于windows和linux之间的文件传输,所以,你须要有一台安装了linux体系的电脑或者虚拟机,下面我将利用Ubuntu的虚拟机进行演示,假如你想要在物理机或者虚拟机中安装Ubuntu,那么就可以看下面的文章:
在物理机安装Ubuntu:[Linux]如何在物理机安装Ubuntu(小白向)-CSDN博客
在虚拟机安装Ubuntu:[Linux]如何在虚拟机安装Ubuntu?(小白向)-CSDN博客
在下面的演示中,我都利用命令行进行演示。我们首先登录我们的Ubuntu:
我们利用下面的命令来更新我们的软件包源,这会让我们下载的软件包处于一个较新的版本:
  1. sudo apt update
复制代码
在更新完软件包源以后,我们就可以开始安装samba了。我们输入下面的命令来安装samba:
  1. sudo apt install samba
复制代码
在安装结束以后,我们可以利用下面的命令来查看安装:
  1. apt list | grep samba
复制代码
下面我来解释一下这条命令,apt list是为了查看已经安装的apt包,假如我们只输入apt list那么终端就会打印全部我们已经安装的包,“|”是一个管道符,用于传递参数,它可以将前面一条指令的输出当作背面一条指令的输入。grep用于在我们输入的文本中查找匹配的值,我们这里为了查找我们的文本中有没有“samba”字样。实行命令以后,我们就能发现,它输出了很多和samba相干的包,当然这其中也包括了samba本体:

这也就表现,我们的samba是安装乐成的。
三、samba的根本配置

        在我们已经安装好samba以后,我们就可以来配置它了。首先,我们须要创建一个用于共享的文件夹,我们利用下面的命令创建一个文件夹在我们的用户目次下:
  1. mkdir ~/share
复制代码
这条命令会在我们的用户目次下创建一个名为“share”的文件夹。当然,大家可以根据本身目次的用途来更换别的名字。特别提示,在创建文件夹的时候,不要加“sudo”,这会使得这个文件夹的权限非常高,高到你每一次配置或者利用这个目次你都要加sudo。这也会间接的导致一些文件访问性的问题。所以,养成习惯,在操作本身用户目次的时候不要加“sudo”。

在目次创建完成以后,我们须要赋予这个目次权限,假如你是一位小白,你不知道权限应该怎么合理分配,那就跟着我写就行了。利用下面的命令配置这个文件夹和用户文件夹的权限:
  1. chmod -R 777 /home/chulingxiao/share /home/chulingxiao
复制代码
这里的chmod是我们的权限配置命令,-R表现递归,也就是说在这个目次的下面一级目次或者文件都被赋予这个权限,777是权限的表现情势,这里我们赋予了本身,用户组,其他人这个文件夹下文件或者目次的读,写,实行权限。换而言之,这个文件夹已经被开放出来了,谁都可以看,谁都可以修改。假如你初学linux如许给权限是没有问题的,但是,在实际工作和项目中,肯定要严格管控每一个文件的权限。末了的“/home/chulingxiao/share /home/chulingxiao”就是我们目次了,大家根据本身目次的名字进行调解,这里须要注意一下,我们不仅要修改刚才我们创建的目次的权限,还要修改我们用户目次的权限,如许做也是未来制止权限问题。我们可以看到,在我们输入了上面的权限配置命令以后,我们文件夹最前面表现权限的部分已经和别的文件夹不一样了。这也就表现我们的权限配置乐成了。
我们下面来讲一下samba的配置文件,samba的配置文件是被存放在了“/etc/samba/”下的一个名为“smb.conf”的文件,我们现在可以先不着急修改这个配置文件,我们须要把这个配置文件备份一份,防止我们把原本的配置文件搞坏了,输入下面的命令,将配置文件备份到当前用户目次下:
  1. cp /etc/samba/smb.conf ~/
复制代码
在备份完成以后,我们就可以打开这个配置文件了。利用下面的命令打开配置文件:
  1. sudo nano /etc/samba/smb.conf
复制代码
因为我们这里已经是对体系目次进行操作了,所以肯定要加上“sudo”:
不出意外的话,打开后就是下图中的样子了,假如你打开文件以后是空缺了,那你可能就须要检查一下在打开文件时有没有利用“sudo”,假如利用了“sudo”打开仍然是空缺的,那你可能须要检查一下samba有没有正常安装:

我们将这个配置文件滑到最下面:
在最下面,我们插入下面这些配置信息,背面我会逐一解释:
  1. [Ubuntu_22.04]
  2.         comment = Samba
  3.         path = /home/chulingxiao/share
  4.         public = yes
  5.         writable = yes
  6.         available = yes
  7.         browseable = yes
  8.         valid users = chulingxiao
复制代码

在添加好配置信息以后,我们保存并关闭配置文件。
下面我来解释一下上面我输入的这些配置信息都是什么意思:
[Ubuntu_22.04]:这是你在 Samba 中界说的共享的名称。当其他网络装备通过 SMB/CIFS 协议访问共享时,这个名称就是他们看到的共享名称。
[comment]:这是对共享的形貌或解释,通常表现在客户端连接到共享时的共享列表中。它帮助用户了解共享的用途或内容。
[path]:这是共享资源在服务器上的实际文件路径。它指定了用户通过 Samba 访问的目次位置。所以大家在写路径的时候,就不能和我相同,因为我的路径是根据我的用户目次写出来的,大家根据本身刚才创建的目次进行i修改,这一步很重要。
[public]:表现该共享是否为公共共享。公共共享答应匿名用户(不输入用户名和密码)访问。假如设置为 yes,任何人都可以访问该共享。通常与 guest ok 配置项相干。
[writable]:决定该共享目次中的文件是否可写。设置为 yes 表现用户可以创建、编辑、和删除文件。假如设置为 no,则共享为只读。
[available]:表现该共享是否可用。假如设置为 no,共享将被界说,但实际上不可用,不会在客户端中表现。
[browseable]:决定该共享是否在网络邻人或文件浏览器中表现。假如设置为 yes,用户可以在网络资源浏览器中看到该共享。假如设置为 no,共享是隐蔽的,但用户仍然可以通过手动输入路径来访问。
[valid users]:指定可以访问该共享的用户或用户组。这些用户必须是在 Samba 中界说的有用用户。假如一个用户不在这个列表中,他将无法访问该共享。这里大家也要根据本身的情况进行修改,上面我写的是我的用户名,大家记得改本钱身的,否则可能不能访问。
当然samba的参数另有很多,背面的参数我会写在一个文档中,大家自行前往百度网盘链接进行下载。
samba相干参数文档:https://pan.baidu.com/s/1I_LR7ntUlnwQhOYp3VxVRw?pwd=clxm 
提取码:clxm
虽然samba的参数有很多,但是,将我们一开始给大家的参数正确填入配置文件samba就已经能正常工作了。
我们输入下面的命令来为samba来配置一个用户的密码,背面我们访问samba服务的时候都会用到这个密码:
  1. sudo smbpasswd -a chulingxiao
复制代码
假如是第一次为这个用户设置密码就须要加上-a,背面配置密码就不用加上-a了。假如在第一次设置一个用户的密码不加上-a的选项的话,就会在设置密码时报堕落误。
这里同样的,大家要把背面的用户名替换本钱身的,否则就会因为找不到这个用户而抛出一个错误。

这里我们输入密码和linux登录时输入密码一样不会回显。
我们输入下面的命令来启动samba服务,每次我们利用samba时都要保证它的服务是启动的:
  1. sudo systemctl start smbd.service
复制代码
在启动了samba的服务以后,我们可以用下面的命令来查看samba的工作状态:
  1. sudo systemctl status smbd.service
复制代码
输入查询命令以后,我们的命令栏可能已经不能输入东西了,大家按“Q”退出即可。

如上图我们可以看到,我们的samba已经处于工作状态了。
我们也可以利用下面的命令来重启samba服务:
  1. sudo systemctl restart smbd.service
复制代码
在我们每次重新设置完密码以后,我都建议大家将samba重启一下。
我们可以利用下面的命令来将samba添加为开机启动:
  1. sudo systemctl enable smbd.service
复制代码
四、samba的连接

        在我们配置并且启动samba以后,我们就可以利用网络去连接它了,我们可以利用下面的命令来查看linux体系的ip地点:
  1. ifconfig
复制代码
假如提示ifconfig命令找不到则实行“sudo apt install net-tools”

我们可以看到,现在我linux的ip地点为192.168.241.128 ,我们可以打开powershell去ping一下这个地点,测试一下通断。

我们可以看到,这里是能ping通的,说明装备的网络连接没有问题。
我们同时按“win+R”打开运行框:在运行框中输入“\\ip地点”,如下图:

前面的反斜杠不能省略。
输入完以上以后,我们回车。
在输入用户名和密码以后就可以进入以下界面了:

图中的这个文件夹就是我们共享出来的文件夹。
假如你在输入用户名和密码以后提示你连接失败没有权限,那么你须要检查你的用户文件夹权限有没有开放出来。确认权限没有问题以后,仍然提示权限不足的话,检查本身samba的配置文件中的用户名是否写对,检查密码设置是否正确。假如被提示重复连接就检查有没有打开别的连接窗口。
在乐成访问到以后,我们可以右键这个文件夹,然后点击“映射网络驱动器”,在弹出的窗口中,我们可以设置映射后的盘符,设置好以后,我们点击完成即可:

在完成以后,我们可以看到这个驱动器已经映射到了我们本地。
我们在这个映射的目次中新建一个文本文档:

我们在linux端进行查看:

至此,我们samba的连接已经完成。
五、结语

        在摆设了samba服务以后大大的简化了我们的文件传输。我们通过samba能够直接对linux的文件进行解压,编译项目等根本操作。samba的强大功能等待大家本身探索!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

守听

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表