我尝试为 vsftpd 配置用户磁盘配额。
我使用 debian 上的“quota”包为 ftp 虚拟用户配置了配额(你知道,通过编辑 /etc/fstab 和所有这些东西)。互联网告诉我这是 vsftpd 的唯一解决方案。
问题是:当文件上传到 ftp 服务器时,它的所有者是 ftp:nogroup,所以配额不适用于我的用户,例如 bob:bob。
我也尝试 chown ftp:bob 目标文件夹,并在 bob 组上使用组配额,但我没有工作
所以我直接去了常见问题解答并没有找到这个:) 你对这个配额问题有什么解决方案吗?
干杯,迈赫迪
以下是您应该采取的设置步骤:
VSFTPd
创建 /etc/vsftd.conf 文件
接下来创建您的 chroot 列表以防止用户浏览其主目录之外的内容
SSH
现在,由于该用户在系统上有一个真实帐户(磁盘配额不适用于虚拟用户),如果 SSH 正在运行,您应该更新它。在最后一行添加以下内容,并确保上面的用户没有被列出(即只列出你想通过 SSH 访问服务器的用户):
准备挂载点
Will 现在将安装并启用配额
这显示了如何为每个用户和每个组执行此操作。顺便说一句,在挂载文件系统时会启用配额支持,因此在完成以下步骤后,您需要重新启动服务器。除非您确切知道自己在做什么,否则请不要在远程机器上执行此操作。
以 root 身份执行以下操作或使用 sudo:
您需要在 fstab 文件中包含以下内容(usrquota 或 grpquota)。以下是一些示例,具体取决于您安装 ubuntu 服务器的方式:
或者
或者
您可以通过重新启动或使用以下示例重新挂载:
检查您的坐骑:
加载配额内核模块:
设置你的配额
安装配额包。
如果它们尚不存在,请创建以下文件。这些文件存储您的配额限制:
在不重新启动的情况下打开 quatacheck:
如果你的内核支持日志配额但你没有使用它,你可能会得到一个错误。在这种情况下使用此命令:
为用户设置限制:
第一个值是软限制,第二个是硬限制。请注意,如果用户尝试加载 100Mb 的文本文件并且他们已经超过了软限制 20Mb,他们的文本文件将被截断 20Mb 以保持在 200Mb 硬限制之下。
检查配额:
如果您希望删除用户的配额,只需将其硬限制和软限制设置为“0”。
我知道这很多,但应该这样做!为了确定,我在发布之前从头开始运行了这个过程。
帕特里克做了一个很好的方法。我会添加两件事。
1.) quotatool 不是强制性的 2.) 如果您没有自己的物理分区供您使用 ftp 文件夹,您可以使用循环文件。我这样做了,效果很好
mkdir /usr/loop_device
dd if = /dev /zero of = /usr/loop_device/ld1 bs = 1024 count = 50000
mkfs.ext4 /usr/loop_device/ld1
mkdir /home_ftp
安装 Loopdevice 它
将以下条目添加到 /etc/fstab
/usr/loop_device/ld1 /home_ftp/ ext4 rw,loop,usrquota,grpquota 0 0
我在这里用截图写下来:
http://infofreund.de/user_quotas_vsftpd_en/
再见克里斯
配额仅适用于系统用户。所以需要配置vsftp使用系统用户,不能使用虚拟用户。
编辑:
这是一个有效的快速而肮脏的配置:
然后使用“quotacheck”设置配额。不要忘记将“userquota”选项添加到您的 fstab。