基于 Ubuntu22.04 的 Samba 服务器搭建教程(新手保姆级教程)

Samba 是在 Linux 和 UNIX 系统上实现SMB 协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得 Samba 不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

(引用:samba(软件)_百度百科 (baidu.com))

本教程的前置条件是,在 Windows 系统的宿主机上以搭建好了 Ubuntu22.04 的虚拟机,关于 Ubuntu22.04 虚拟机的搭建可以参考《基于 VMware 虚拟机的 Ubuntu22.04 系统安装和配置(新手保姆级教程)》。

一、Ubuntu22.04 安装 Samba 软件

安装软件之前,先更新一下软件源(近期操作过可以跳过此步骤)。

sudo apt update

输入下列命令安装 Samba 服务器:

sudo apt install samba -y

二、创建 Samba 共享文件夹

用户创建的任何文件夹都可以做共享文件夹(只要开放读写权限),如果不想创建新的文件夹,可以跳过创建的步骤,在现有的文件夹中选一个设置权限即可。

使用mkdir命令(后面的参数-p是用于创建多级目录使用的,去掉也不影响),新建一个名为“Share”的文件夹。当然了,你也可以把文件夹命名为其他名字,这并不影响后面的操作。

mkdir -p Share

然后进入文件夹,输入pwd命令获取文件夹的绝对路径,这个在后面写入配置信息有用。

回到上级目录,使用chmod命令给这个文件夹开放一些读写的权限。

chmod 0777 Share

三、配置 Samba 文件以及设置 Samba 用户密码

为保险起见,先备份一下原来的 Samba 配置文件。

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

编辑配置smb.conf配置文件,添加共享目录。

sudo vim /etc/samba/smb.conf

进来之后,直接按组合键Shift + g跳到结尾处,在结尾处把下面的文本添加进去,要注意根据自己的情况修改。

[Ubuntu_22.04]

comment = Samba

path = /home/grayson/Share

public = yes

writable = yes

available = yes

browseable = yes

valid users = grayson

简单说明一下配置信息的含义:

[Ubuntu_22.04]:这是共享的名称,你可以在网络上访问该共享时使用。comment:这是关于共享的描述或注释,显示给用户看。path:这是共享的实际路径。public:这表示该共享是否为公共共享,即是否允许匿名用户访问。writable:表示是否允许用户在共享中创建、编辑和删除文件。available:表示该共享是否可用。browseable:表示该共享是否在网络上可以浏览。valid users:当前 Ubuntu 系统的用户名。

配置信息写好后,先按Esc键退出编程模式,再输入:x或者:qw保存退出。

接着给 Samba 用户设置密码:

sudo smbpasswd -a grayson

注意:命令中的“grayson”是用户名。然后输入 Samba 服务器的登录密码,连续输入两次,可以设置单个字符。设置成功后会提示“Added user grayson.”。

另外再提醒一下,输入密码时,终端是不会弹出任何字符的,属于纯盲打。

四、重启 Samba 服务器

重启 Samba 服务器可以直接输入下列命令:

systemctl restart smbd.service

systemctl enable smbd.service

当输入第一条命令回车后,会出先下图所示的弹窗,输入虚拟机的用户密码回车即可。之后输入第二条命令,会连续三次弹出这个窗口,也就是说,输入以上两条命令,前后需要输入四次虚拟机的密码(注意:不是 Samba 用户的密码)。

Samba 服务器重启后,输入下面的命令查看当前 Samba 服务器的运行情况。

systemctl status smbd.service

如果用显示“active(running)”,就说明 Samba 服务器在运行了。

五、Windows 系统访问 Ubuntu 共享文件夹

在做这一步之前,建议先给 Ubuntu 系统设置静态 IP,关于如何设置静态 IP 可以查看《Ubuntu22.04 设置静态 IP 的方法》。

设置好静态 IP 后,回到 Windows 系统主机,按组合键Win+r,输入 Ubuntu 系统的 IPv4 地址,然后回车,具体如下图(注意前面要输入两个反斜杠):

在随后的弹窗中输入 Ubuntu 的 Samba 服务器账号和密码,勾上“记住我的凭证”,再点确定即可。

能看到下图的出现一个文件夹就说明访问成功了。

为了之后访问更方便,可以右键单击文件夹,选择“映射网络驱动器”。

盘符可以指定,也可以默认,全凭个人喜好,单击“完成”按钮即可。

之后就可以在此电脑中多出一个网络位置的盘符,以后只要打开 Ubuntu 系统,都可以直接从 Windows 的文件管理器访问 Ubuntu 系统了。

六、测试

目前我们确定,此时的 Ubuntu 系统中的 Share 文件夹是空的,如下图:

同时,在 Windows 系统的文件管理器查看也是如此。

可以在创建一个文本文件来看看效果,右键新建一个文本文件,命名为“test.txt”,并打开随便输入一些内容。

保存退出后,回到 Ubuntu 系统,再次输入ls命令,此时 Ubuntu 系统多了一个“test.txt”的文件。

用 vim打开文件,内容跟刚刚输入的一模一样。

至此,关于Ubuntu22.04 的 Samba 服务器搭建就结束了,此法同样适用于 Ubuntu18.04 和 Ubuntu20.04。

文章链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: