在本教程中,您将学习一种在 Debian 10 上设置 Samba 文件服务器的快速方法。 Samba 是一个开源套件,它实现了服务器消息块 (SMB) 协议。 Microsoft Windows 操作系统和 OS/2 操作系统使用 SMB 来执行客户端-服务器网络以进行文件和打印机共享以及相关操作。 运行在Unix系统上,它允许Windows在Unix主机上共享文件和打印机,也允许Unix用户访问Windows系统共享的资源。 因此,对于网络上同时拥有 Windows 和 Unix 系统的任何人来说,它都是一个非常有用的网络工具。
在 Debian 10 上设置 Samba 文件服务器
Samba 可以运行为:
- Active Directory (AD) 或 NT4 域成员
- 独立服务器
- NT4 主域控制器 (PDC) 或备份域控制器 (BDC)
在此设置中,我们将在 Debian 10 上将 Samba 作为独立文件服务器运行。
逐步完成以下步骤,了解如何在 Debian 10 上轻松安装和配置 Samba 文件服务器。
在 Debian 10 上安装 Samba
要在 Debian 10 上轻松安装和配置 Samba 文件服务器,您首先需要通过运行以下命令来安装 Samba 软件包;
apt update
apt install samba smbclient cifs-utils
在 Debian 10 上设置 Samba 文件服务器
安装 Samba 软件包后,继续在 Debian 10 上设置 Samba 文件服务器。
如前所述,在此设置中,我们将在 Debian 10 上将 Samba 作为独立文件服务器运行。这意味着 Samba 未配置为任何目录服务的成员,因此,本地系统数据库将用于验证用户访问共享文件。
创建共享 Samba 目录/文件夹
创建一个目录,您将在其中放置要共享的文件。
您可以创建公共或私人共享文件夹。
例如,在此设置中,我们使用 /民众 和 /private
分别作为我们的公共和私有共享目录。
mkdir /public
mkdir /private
我们将允许公共访问公共文件夹和一些用户访问私人文件夹。
在 Debian 10 上设置 Samba 文件服务器
打开Samba配置文件进行编辑;
vim /etc/samba/smb.conf
全局 Samba 配置选项
下面是我们的全局 Samba 配置,删除了注释行。
[global] workgroup = WORKGROUP log file = /var/log/samba/log.%m max log size = 1000 logging = file panic action = /usr/share/samba/panic-action %d server role = standalone server obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Entersnews*spassword:* %nn *Retypesnews*spassword:* %nn *passwordsupdatedssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes
咨询 man smb.conf
有关所用配置选项的说明。
配置 Samba 共享
现在,我们将只配置文件共享。
因此,在 Samba 配置文件的末尾,添加共享名称和相应的配置选项。
在上面,我们创建了两个目录,一个公共目录和一个私有目录。 我们将公共共享设置为可公开访问,私有共享将需要身份验证才能访问。
公共共享配置
示例公共共享配置。
[public] comment = Public Folder path = /public writable = yes guest ok = yes guest only = yes force create mode = 775 force directory mode = 775
私有共享配置
示例私有共享配置。
[private] comment = Private Folder path = /private writable = yes guest ok = no valid users = @smbshare force create mode = 770 force directory mode = 770 inherit permissions = yes
创建 Samba 共享用户组
上述私人共享将只允许用户 smbshare
组访问共享。
因此,让我们创建一个 共享 组并将特定用户添加到该组以允许访问私有共享。
groupadd smbshare
更新共享的权限
更改共享私有目录的组;
chgrp -R smbshare /private/
chgrp -R smbshare /public
设置目录的权限;
chmod 2770 /private/
chmod 2775 /public
上面的值 2 代表 SGID 位。 这使得创建的新文件/文件夹继承父目录的组,而不是将其设置为用户主组。
创建 Samba 用户
接下来,为您希望授予对私有共享访问权限的用户创建本地帐户。 用户不需要有 shell,因为他们不会用于登录系统。
useradd -M -s /sbin/nologin demouser
将用户添加到 共享 团体;
usermod -aG smbshare demouser
您可以使用以下命令组合上述两个命令:
useradd -M -s /sbin/nologin -G smbshare demouser
验证用户;
id demouser
uid=1001(demouser) gid=1002(demouser) groups=1002(demouser),1001(smbshare)
为用户创建SMB密码;
smbpasswd -a demouser
启用 Samba 帐户:
smbpasswd -e demouser
验证 Samba 配置
建议您在每次更新 Samba 配置时验证 /etc/samba/smb.conf
文件使用 testparm
公用事业
您可以简单地执行它如下:
testparm
样本输出;
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Registered MSG_REQ_POOL_USAGE Registered MSG_REQ_DMALLOC_MARK and LOG_CHANGED Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[homes]" Processing section "[printers]" Processing section "[print$]" Processing section "[public]" Processing section "[private]" Loaded services file OK. Server role: ROLE_STANDALONE ...
如果出现任何错误,请先修复它,然后才能继续。
在 Debian 10 上重启 Samba 服务;
systemctl restart nmbd
在共享上创建测试文件/文件夹;
mkdir /private/demofolder-priv /public/demofolder-pub
touch /private/demofile-priv /public/demofile-pub
允许远程访问 Samba
允许从特定网络/IP 地址远程访问 Samba。 更换网络, 192.168.59.0/24 适当地。
ufw allow from 192.168.59.0/24 to any app Samba
从客户端访问 SMB 共享
在本地测试对共享的访问;
smbclient 'localhostpublic'
Enter WORKGROUProot's password: ENTER for no password Try "help" to get a list of possible commands. smb: > ls . D 0 Wed Jun 9 14:20:16 2021 .. D 0 Wed Jun 9 13:40:52 2021 demofolder-pub D 0 Wed Jun 9 14:20:06 2021 demofile-pub N 0 Wed Jun 9 14:20:16 2021 13350984 blocks of size 1024. 7957104 blocks available smb: >
在本地测试对私有共享的访问;
smbclient 'localhostprivate' -U demouser
Enter WORKGROUPdemouser's password: Try "help" to get a list of possible commands. smb: > ls . D 0 Wed Jun 9 14:20:16 2021 .. D 0 Wed Jun 9 13:40:52 2021 demofile-priv N 0 Wed Jun 9 14:20:16 2021 demofolder-priv D 0 Wed Jun 9 14:20:06 2021 13350984 blocks of size 1024. 7957088 blocks available smb: >
要了解如何从各种客户端访问 SMB 共享,请按照以下指南进行操作;
如何在 Linux 和 Windows 系统上访问 Samba 共享
关于如何在 Debian 10 上轻松安装和配置 Samba 文件服务器的教程到此结束。
在 Ubuntu 20.04 上轻松安装和配置 Samba 文件服务器
在 CentOS 8 上安装和设置 GlusterFS 存储集群
如何在 Ubuntu 18.04 服务器上配置 NFS 服务器
如何在 RHEL/CentOS 7 上安装和配置 NFS 服务器