如何在Debian 9上使用块存储设置Samba

Samba是一个开放源代码解决方案,允许用户设置快速安全的文件和打印共享。在本文中,我将介绍如何在Debian 9上使用Vultr的块存储来设置Samba。这包括可选的配额,身份验证以及通过家庭连接访问它的说明。

本文将适用于Vultr实例行的任何层。

第1部分:准备服务器

重要的是,我们首先安装Samba的依赖项,以及启动并运行块存储。如果您不知道什么是Vultr的块存储,那么它是一个高度可用的,基于SSD的可扩展存储解决方案,可以安装到Vultr VPS上。此文档中提供了有关块存储的更多信息。

您需要做的第一件事是通过SSH登录到Vultr VPS,或通过KVM。推荐使用SSH,因为使用PuTTY或SSH的命令行版本可以复制和粘贴命令。

登录后,如果您不使用root用户,请升级为root。

su -

如果您的块存储已经安装好并准备好,请跳至B节。

请注意:Vultr的当前块存储文章不涉及启用配额。如果您要这样做,请转到A.1节。

A部分:准备块存储

现在,让我们准备您的块存储。在本文中,仅提供了有关设置的基本说明,因此,如果您需要其他详细信息,请使用第1部分中先前编写的链接。

首先,让我们使用创建必要的分区fdisk

fdisk /dev/vdb

在中fdisk,输入:

n (enter)
p (enter)
1 (enter)
(enter)
(enter)
w (enter)
q (enter)

现在,将其格式化为EXT4:

mkfs.ext4 /dev/vdb1

现在我们的驱动器已准备好安装。在接下来的步骤中,在您选择的位置创建目录。本文将使用示例目录/var/blockstorage,但是您可以随意更改此位置。

mkdir -p /var/blockstorage
mount /dev/vdb1 /var/blockstorage

在中添加行之前/etc/fstab,请执行以下命令:

cat /etc/fstab | grep "UUID="

如果驱动器名称发生更改(例如/dev/vdb重命名为/dev/sdb),则UUID将确保我们安装了正确的驱动器。

将后面的部分复制=到斜线之前的空间。它看起来像是'8db639c7-d77d-49a3-a4b0-c9d2916ba873'。

然后,通过UUID列出您的驱动器,并将其保存到变量中以备后用:

CURRENT_UUID='UUID_YOU_COPIED'
NEW_UUID=`ls /dev/disks/by-uuid/ | grep -v "$CURRENT_UUID"`

最后,让我们添加该条目/etc/fstab以确保其在电源关闭后仍然存在。

echo "UUID=$NEW_UUID  /var/blockstorage ext4 defaults,usrquota,grpquota,noatime 0 0" >> /etc/fstab

块存储设置就是这样!前往第2部分。

第A.1节:为先前配置的块存储启用配额

这是相对简单的方法,因此请向打开您喜欢的文本编辑器/etc/fstab。它看起来应该像这样:

如何在Debian 9上使用块存储设置Samba

进入该行/dev/vdb1,并添加usrquota,grpquotadefaults,。您的文件现在应如下所示:

如何在Debian 9上使用块存储设置Samba

保存并退出。要应用您的更改,我们需要重新安装驱动器。

mount -o remount /dev/vdb1

现在,让我们继续进行B节。

B节:安装Samba

您要做的第一件事就是更新您的软件包源。

apt-get update -y

稍等片刻,完成后,继续执行下一个命令。现在,让我们安装Samba和所有依赖项。

apt-get install samba quota firewalld -y

安装Samba就是这样。到目前为止,做得不错,您做得很棒!让我们继续第2部分,在此我们将根据您的需求配置Samba。

第2部分:配置Samba

这可能是最困难的步骤,请紧紧抓住!当前,本文支持三种不同的配置选项。它们如下:任何用户都可以访问的公共共享(A.1);具有用户权限的私人共享(A.2);具有用户权限和配额的私有共享(A.3)。

在跳到适当的部分之前,我们需要/etc/samba/smb.conf对每个部分进行一些更改。

打开您喜欢的文本编辑器,然后使用查找行# wins support = no。取消注释行(删除#符号),然后将“否”更改为“是”。保存文件。

此时,您可以转到相应的部分。

A.1节:公开的Samba分享

本小节将介绍如何设置公共Samba共享。这是相对容易的,因为我们不需要应用任何特殊权限或配置选项。

将以下内容添加到您的/etc/samba/smb.conf配置文件中:

[Public Share]
comment = Publicly accessible share that allows ANY user to access it
path = /var/blockstorage
read only = no
guest ok = yes

请注意:可以连接到您的Samba服务器的任何人都可以访问此共享。通过创建您将与需要访问共享的任何人共享的单个用户,可以确保这一点。步骤A.2中提供了有关步骤。

然后,重新启动Samba:

systemctl restart smbd

第A.2节:具有权限的私人共享

Samba在身份验证方面有很多选择,因为Samba可以识别home前缀,所以它会根据您的系统和自己的身份验证系统自动进行身份验证。另外,也不必指定路径,因为Samba将从用户的/etc/passwd条目中读取该路径。

将以下内容添加到您的/etc/samba/smb.conf配置文件。

[homes]
browsable = no
writable = yes
read only = no

要设置用户,我们首先需要为他们创建一个单独的Linux帐户。以下命令将创建一个没有外壳程序或SFTP访问权限的用户:

NEW_USER="Username of the user you'd like to create"
useradd -d /var/blockstorage/$NEW_USER -s /usr/sbin/nologin $NEW_USER

然后,为其设置密码:

passwd $NEW_USER

最后,我们需要在Samba中激活用户。输入与您输入第一个smbpasswd命令后相同的密码。第二个命令将启用用户。

smbpasswd -a $NEW_USER 
smbpasswd -e $NEW_USER

重复此部分以根据需要创建新用户。

第A.3节:具有权限和配额的私有共享

步骤与A.2相同,因此请完成这些步骤,然后返回此处。使用Samba设置配额类似于您为标准Linux用户设置配额的方式。

我们尚未初始化挂载目录的配额,所以现在开始吧。

quotacheck -cug /var/blockstorage

应该就是启用配额。假设您已经创建了一些用户,我们现在可以为他们提供磁盘限制。

我们需要计算要分配多少磁盘空间,但是由于配额是按块计算的,因此以下是将MB转换为块的方程式:

mb to allocate * 1024 = number of blocks
Example: 1024MB * 1024 = 1048576 blocks

现在您已经知道了要分配的块数,让我们设置限制。

edquota $NEW_USER

它看起来像这样:

如何在Debian 9上使用块存储设置Samba

转到第一个hard过去的blocks部分,并移动到它下面的数字(可能为0)。将其更改为您先前计算的块数。

保存并退出。

设置配额应该就是这样;请根据需要随时重复此部分。

B部分:允许通过您的连接进行外部连接

显然,目前,由于防火墙阻止了它使用的端口,因此目前无法通过Internet访问Samba共享。

正如我们之前安装的FirewallD一样,打开端口非常简单。只需运行以下命令以打开Samba。

firewall-cmd --permanent --add-port=139/tcp
firewall-cmd --permanent --add-port=445/tcp
firewall-cmd --permanent --add-port=137/udp
firewall-cmd --permanent --add-port=138/udp
systemctl restart firewalld

好了 现在,您可以从任何地方访问您的Samba共享。

结论

在本文中,我们介绍了如何在Debian 9上使用Vultr的块存储配置Samba。这是一种可靠,快速的解决方案,您可以随时轻松扩展块存储的大小(不过,您需要重新启动!)非常适合与家人,朋友和其他人共享照片和媒体,并且易于维护。

骇客入侵!



Leave a Comment

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息