Debian 安装 Samba 服务,实现使用 MacOS/Windows 访问共享文件
什么是 Samba
SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB 协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
Samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的一款免费开源软件,由服务器及客户端程序构成,它提供了在不同操作系统之间共享文件、打印机和其他资源的功能。在 Debian 上搭建 Samba 服务可以实现 MacOS/Windows/Linux 访问 Linux 系统中的共享文件夹,方便文件共享和管理。
为什么使用 Samba
例如我在内网搞了一台 Debian 迷你主机,我日常要测试的代码都是跑在 Debian 里面,但代码编辑器在 MacOS 和 Windows 上,每次修改代码后都要上传到 Debian 中,偶尔一两次修改无所谓但改多了就显得很麻烦和没有效率,使用 Samba 后我就可以直接在 MacOS 和 Windows 修改代码了,体验过程和代码在本地文件夹一样非常的酸爽。
安装与配置 Samba
安装 Samba 前我们先更新下 Debian 上的软件,好让其保持最新,使用如下命令即可。
sudo apt-get update
sudo apt-get upgrade
更新完成后我们来安装 Samba 服务,直接执行如下命令。
sudo apt-get install samba
好了,至此 Samba 已在 Debian 安装完成。
创建共享文件夹
使用前需要在 Debian 中创建一个文件夹用来作为共享文件夹使用,可以使用以下命令创建一个共享文件夹,如果你想指定一个已有的文件夹也可以跳过此步骤。
sudo mkdir -p /var/www
上面的命令表示我在 var 目录中创建了一个 www 文件夹,你可以根据自己的需要进行修改,我是因为每个网站的根目录都在 www 文件夹所以直接把此文件夹作为共享,以后就能方便的修改创建的任意网站代码了。
接下来给共享文件夹 777 权限,执行以下命令即可。
sudo chmod 777 /var/www
修改 Samba 配置文件
使用以下命令编辑 Samba 配置文件。
sudo vi /etc/samba/smb.conf
清空 smb.conf 文件内容,然后在加入以下内容。
[global]
workgroup = WORKGROUP
security = user
deadtime = 0
fruit:aapl = no
veto files = /._*/.DS_Store/
[www]
comment = WebTest
path = /var/www
browseable = yes
guest ok = yes
read only = no
create mask = 0777
directory mask = 0777
上面的内容中:
- [www] 是共享文件夹的名称,可以根据需要修改。
- comment 是注释,可以不设置。
- path 是共享文件夹的路径。
- browseable 设为 yes 表示该共享文件夹可以在网络上被浏览。
- guest ok 设为 yes 表示访问该共享文件夹不需要认证。
- read only 设为 no 表示该共享文件夹可以被写入。
- create mask 和 directory mask 是文件和文件夹的权限,设置为 0777 表示所有用户都具有最高权限(读取/写入/删除/新增)。
最后执行以下命令重启一下 Samba 服务。
sudo service smbd restart
创建 Samba 用户
Samba 使用一组用户/密码来管理连接权限,通过以下命令将你的 Debian 用户添加到该集合中,执行后系统会提示你输入密码,注意请输入一个新的密码,一个用来登录 Samba 的密码,而不是你 Debian 当前的密码。
smbpasswd -a <你的用户名>
以下命令得到有 Samba 使用权限的用户列表。
pdbedit -L -v
以下命令删除一个用户。
smbpasswd -x <用户名>
怎么访问 Debian 共享文件夹
Windwos 访问
在 Windows 中打开此电脑,地址栏输入 Debian 的 IP 地址(地址前面需要加两个反斜杠“ \\ ”),如下图所示,后面会有弹窗显示要求你输入用户名和密码。

MacOS 访问
打开访达,点击前往选择连接服务器,然后如下图所示输入 Debian 的 IP 地址,后面操作和 Windows 一致。

