如何在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

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)

如何在Debian 9上安装Monica

如何在Debian 9上安装Monica

使用其他系统?Monica是一个开源的个人关系管理系统。可以将其视为CRM(销售团队使用的一种流行工具

将Debian 9升级到Debian 10

将Debian 9升级到Debian 10

简介Debian 10(Buster)是Debian 9(Stretch)的后继产品。它于2019年7月6日发布。在本教程中,我们将升级一个existin

如何在Debian 9上安装Grav CMS

如何在Debian 9上安装Grav CMS

使用其他系统?Grav是用PHP编写的开源平面文件CMS。Grav源代码公开托管在GitHub上。本指南将向您展示如何

在Debian / Ubuntu中使用Rsync设置文件镜像

在Debian / Ubuntu中使用Rsync设置文件镜像

简介如果您经营一个重要的网站,则最好将文件镜像到辅助服务器。如果您的主服务器有网络

在适用于Minecraft服务器的Ubuntu 14.04上安装MineOS

在适用于Minecraft服务器的Ubuntu 14.04上安装MineOS

MineOS是一个完整的Minecraft服务器平台,具有Web GUI,自动备份,存档,性能统计信息以及其他功能。配置

在Debian 7上安装Prosody

在Debian 7上安装Prosody

在Debian 7上安装Prosody Prosody是用LUA编写的XMPP通信服务器。它旨在易于设置和配置,并通过syste高效

如何在Debian,CentOS和FreeBSD上使用Sudo

如何在Debian,CentOS和FreeBSD上使用Sudo

在Linux和Unix系统管理员中,使用sudo用户访问服务器并在root级执行命令是一种非常普遍的做法。使用泡沫

如何在Debian 9上安装Mailtrain Newsletter应用程序

如何在Debian 9上安装Mailtrain Newsletter应用程序

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

如何在Debian 9上安装Attendize

如何在Debian 9上安装Attendize

使用其他系统?Attendize是一个基于Laravel PHP框架的开源门票销售和事件管理平台。参加源鳕鱼

如何安装ARK:Debian 9的生存进化

如何安装ARK:Debian 9的生存进化

简介在本指南中,您将学习如何在Vultr VPS上创建ARK:Survival Evolved服务器。要求Vultr VPS至少为8192 M

在Debian / Ubuntu上设置您自己的DNS服务器

在Debian / Ubuntu上设置您自己的DNS服务器

本教程说明了如何在Debian或Ubuntu上使用Bind9设置DNS服务器。在整篇文章中,请相应地替换your-domain-name.com。在

在Debian上安装带有PHP-FPM和MySQL的Hiawatha Web服务器

在Debian上安装带有PHP-FPM和MySQL的Hiawatha Web服务器

Hiawatha是一种Web服务器,具有简单性,易用性和安全性。对于小型服务器,较旧的硬件或嵌入式设备,它是完美的解决方案

在Debian 7(Wheezy)上安装Plesk

在Debian 7(Wheezy)上安装Plesk

使用其他系统?Plesk是专有的Web主机控制面板,允许用户管理其个人和/或客户的网站,数据库

在Debian / Ubuntu上设置vsFTPd

在Debian / Ubuntu上设置vsFTPd

简介vsftpd代表“非常安全的FTP守护程序”。它是一个轻量级的FTP服务器。这个简短的教程说明了如何在Debian或Ubuntu上安装vsftpd

如何在Debian 9上安装LimeSurvey CE

如何在Debian 9上安装LimeSurvey CE

使用其他系统?LimeSurvey是一个用PHP编写的开源调查软件。LimeSurvey源代码托管在GitHub上。本指南将向您展示

在Debian 7上使用MySQL视图

在Debian 7上使用MySQL视图

简介MySQL具有一个伟大的功能,称为视图。视图是存储的查询。可以将它们视为否则会很长查询的别名。在本指南中,

如何在Debian 9上安装和配置TaskBoard

如何在Debian 9上安装和配置TaskBoard

使用其他系统?简介TaskBoard是一个免费的开源工具,可以用来跟踪要做的事情。它提供了一个用户友好

如何在Debian 9上安装Osclass

如何在Debian 9上安装Osclass

使用其他系统?Osclass是一个开放源代码项目,可让您轻松创建分类站点,而无需任何技术知识。它的来源

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 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。