如何在Ubuntu上装载SMB共享?

752 阅读3分钟

SMB是一个客户-服务器、文件共享协议,代表服务器信息块,由IBM在1984年发明,目的是允许计算机使用LAN(局域网)访问远程主机上的文件进行读写。SMB协议使远程主机上被访问的文件或目录被称为共享。这意味着我们可以使用局域网将共享文件或目录挂载到我们的系统中。

SMB以前被称为CIFS,是SMB的旧版本或方言,代表通用互联网文件系统,由微软创建,是服务器信息块协议的一个特殊实现。

在这篇文章中,我们将为你提供如何使用Samba文件服务器在Ubuntu上装载SMB共享的每一个小步骤。Samba使用SMB协议,具有与SMB相同的功能,即在局域网上与其他系统共享文件。但在前进之前,让我强调一点,本文假设你已经在远程系统上共享了一个目录,你将在本文中访问该目录。

第1步:更新和升级apt-cache资源库

第一步是在Ubuntu 20.04终端使用update命令来更新我们的apt软件包。

$ sudo apt update

我们所有的软件包都是最新的,但是如果我们的软件包不是最新的,那么我们必须运行以下命令来升级。

$ sudo apt upgrade

第2步:Cifs-utils软件包的安装

执行下面的命令,在Ubuntu系统上安装cifs-utils包。

$ sudo apt install cifs-utils

第三步:创建目录

现在让我们创建一个目录,在那里我们将挂载共享驱动器。

$ sudo mkdir /media/share

第4步:创建凭证文件

这一步涉及到在我们的主目录中创建证书文件,并使用.(dot),这是出于安全原因需要的,这将使我们的文件被隐藏。为此,执行下面的命令,它将在nano编辑器中打开该文件。

$ sudo nano /root/.examplecredentials

你可以用你想要的文件名来替换该文件的名称。

现在文件已经打开,在文件中输入以下两行,这将是我们的samba用户名和密码。

username=example_username
password=example_password

你可以把用户名和密码替换成你喜欢的用户名和密码,然后按CTRL+S保存文件,CTRL+X退出文件。

接下来,我们将使/root/.examplecredentials文件只能由root账户读取,因此将限制所有非root账户,在Ubuntu 20.04终端执行以下命令。

$ sudo chmod 400 /root/.examplecredentials

第5步:挂载samba共享

在这一步,我们将执行命令,在我们的Ubuntu系统上挂载远程samba共享目录。

$ sudo mount -t cifs -o rw,vers=3.0,credentials=/root/.examplecredentials //192.168.18.112/sharedDir /media/share

替换上述命令中的IP地址,如果你已经在远程系统上共享了一个目录或文件夹,如果是Ubuntu系统,那么你可以用ip a命令找到IP地址。

$ ip a

sharedDir所在的远程Ubuntu系统的IP地址是 "192.168.18.112",这在上面的挂载命令中已经提供。

第6步:系统重启时自动挂载

上述步骤中手动挂载的文件系统在我们的Ubuntu/系统重启后将不会被挂载,因此要解决这个问题,首先我们要在nano编辑器中打开/etc/fstab文件,然后向该文件添加一些配置。要在nano编辑器中打开/etc/fstab文件,执行以下命令。

$ sudo nano /etc/fstab

上述命令将打开/etc/fstab文件,你将在系统屏幕上看到如下所示的内容。

现在在用nano编辑器打开的文件中添加以下一行。

//192.168.18.112/share /media/share cifs vers=3.0,credentials=/.examplecredentials

记住,你必须用你的IP地址替换IP地址,然后按CTRL+S保存上述文件,再按CTRL+X关闭该文件。

总结

SMB是一个文件共享协议,其目的是允许计算机通过LAN网络访问远程系统文件,而CIFS是SMB的一个特殊方言,具有几乎相同的功能。

在这篇文章中,我们向你展示了如何在Ubuntu 20.04上使用samba文件服务器挂载SMB共享;然而,所使用的命令是通用的,可以应用于任何Linux发行版。