AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 37737
In Process
user12087
user12087
Asked: 2009-07-09 07:16:15 +0800 CST2009-07-09 07:16:15 +0800 CST 2009-07-09 07:16:15 +0800 CST

vsftpd 中的配额?

  • 772

我尝试为 vsftpd 配置用户磁盘配额。

我使用 debian 上的“quota”包为 ftp 虚拟用户配置了配额(你知道,通过编辑 /etc/fstab 和所有这些东西)。互联网告诉我这是 vsftpd 的唯一解决方案。

问题是:当文件上传到 ftp 服务器时,它的所有者是 ftp:nogroup,所以配额不适用于我的用户,例如 bob:bob。

我也尝试 chown ftp:bob 目标文件夹,并在 bob 组上使用组配额,但我没有工作

所以我直接去了常见问题解答并没有找到这个:) 你对这个配额问题有什么解决方案吗?

干杯,迈赫迪

linux ftp quota vsftpd
  • 3 3 个回答
  • 27183 Views

3 个回答

  • Voted
  1. Patrick R
    2010-02-05T12:46:27+08:002010-02-05T12:46:27+08:00

    以下是您应该采取的设置步骤:

    VSFTPd

    创建 /etc/vsftd.conf 文件

    #nano /etc/vsftpd.conf
    
    listen=YES
    anonymous_enable=NO
    local_enable=YES
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    chroot_local_user=YES
    secure_chroot_dir=/var/run/vsftpd
    pam_service_name=vsftpd
    rsa_cert_file=/etc/ssl/certs/vsftpd.pem
    download_enable=yes
    guest_enable=NO
    write_enable=yes
    
    #If chroot_local_user is YES, then this list becomes a list of
    # users to NOT chroot()
    chroot_local_user=no
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd.chroot_list
    

    接下来创建您的 chroot 列表以防止用户浏览其主目录之外的内容

    #nano /etc/vsftpd.chroot_list
    
    someusernamehere
    

    SSH

    现在,由于该用户在系统上有一个真实帐户(磁盘配额不适用于虚拟用户),如果 SSH 正在运行,您应该更新它。在最后一行添加以下内容,并确保上面的用户没有被列出(即只列出你想通过 SSH 访问服务器的用户):

    #nano /etc/ssh/sshd_config
    
    AllowUsers username1 username2
    

    准备挂载点

    Will 现在将安装并启用配额

    这显示了如何为每个用户和每个组执行此操作。顺便说一句,在挂载文件系统时会启用配额支持,因此在完成以下步骤后,您需要重新启动服务器。除非您确切知道自己在做什么,否则请不要在远程机器上执行此操作。

    以 root 身份执行以下操作或使用 sudo:

    #nano /etc/fstab
    

    您需要在 fstab 文件中包含以下内容(usrquota 或 grpquota)。以下是一些示例,具体取决于您安装 ubuntu 服务器的方式:

    /dev/hda1       /home       ext2    defaults,usrquota  1       1 
    

    或者

    # /home was on /dev/sda3 during installation
    UUID=fce47086-925c-4164-80a4-4ba6b307123b /home           ext4    defaults,usrquota        0       2
    

    或者

    # /home was on /dev/sda3 during installation
    UUID=fce47086-925c-4164-80a4-4ba6b307123b /home           ext4    defaults,usrquota,grpquota        0       2
    

    您可以通过重新启动或使用以下示例重新挂载:

    #mount -o remount,usrquota /home 
    

    检查您的坐骑:

    #mount | grep quota
    

    加载配额内核模块:

    #modprobe quota_v2 echo 'quota_v2' >> /etc/modules 
    

    设置你的配额

    安装配额包。

    #apt-get install quota quotatool
    

    如果它们尚不存在,请创建以下文件。这些文件存储您的配额限制:

    #touch /home/aquota.user 
    #touch /home/aquota.group 
    #chmod 600 /home/aquota.user /home/aquota.group 
    

    在不重新启动的情况下打开 quatacheck:

    # quotacheck -vagum
    

    如果你的内核支持日志配额但你没有使用它,你可能会得到一个错误。在这种情况下使用此命令:

    # quotacheck -fvagum
    

    为用户设置限制:

    #quotatool -u someusername -bq 100M -l '200 Mb' /home 
    

    第一个值是软限制,第二个是硬限制。请注意,如果用户尝试加载 100Mb 的文本文件并且他们已经超过了软限制 20Mb,他们的文本文件将被截断 20Mb 以保持在 200Mb 硬限制之下。

    检查配额:

    #repquota /home 
    

    如果您希望删除用户的配额,只需将其硬限制和软限制设置为“0”。

    我知道这很多,但应该这样做!为了确定,我在发布之前从头开始运行了这个过程。

    • 7
  2. chris2k
    2014-06-23T12:48:21+08:002014-06-23T12:48:21+08:00

    帕特里克做了一个很好的方法。我会添加两件事。

    1.) quotatool 不是强制性的 2.) 如果您没有自己的物理分区供您使用 ftp 文件夹,您可以使用循环文件。我这样做了,效果很好

    mkdir /usr/loop_device

    • 创建一个 50MB 的文件

    dd if = /dev /zero of = /usr/loop_device/ld1 bs = 1024 count = 50000

    • 在上面创建一个文件系统

    mkfs.ext4 /usr/loop_device/ld1

    • 为 ftp 用户创建目录

    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/

    再见克里斯

    • 2
  3. wazoox
    2009-07-09T08:29:35+08:002009-07-09T08:29:35+08:00

    配额仅适用于系统用户。所以需要配置vsftp使用系统用户,不能使用虚拟用户。

    编辑:

    这是一个有效的快速而肮脏的配置:

    listen=YES
    anonymous_enable=NO
    local_enable=YES
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    chroot_local_user=YES
    secure_chroot_dir=/var/run/vsftpd
    pam_service_name=vsftpd
    rsa_cert_file=/etc/ssl/certs/vsftpd.pem
    download_enable=yes
    anon_mkdir_write_enable=yes
    guest_enable=NO
    anon_world_readable_only=no
    anon_upload_enable=yes
    write_enable=yes
    chroot_local_user=no
    anon_other_write_enable=yes
    

    然后使用“quotacheck”设置配额。不要忘记将“userquota”选项添加到您的 fstab。

    • 1

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve