温馨提示×

SFTP配置中如何设置用户配额

小樊
53
2025-08-17 03:25:59
栏目: 编程语言

在SFTP配置中设置用户配额,通常需结合文件系统配额工具与SSH配置,以下是基于不同系统的操作要点:

一、准备工作

  1. 安装配额工具

    • CentOS:sudo yum install xfsprogs(针对XFS文件系统)或sudo yum install quota(针对EXT4文件系统)。
    • Ubuntu:sudo apt-get install quota
  2. 检查文件系统支持
    运行命令sudo tune2fs -l /dev/sdXY | grep "Default mount options:",确认输出中包含usrquota和/或grpquota选项(sdXY替换为实际分区,如/dev/sda1)。

二、设置用户配额

1. 配置文件系统挂载选项

  • 编辑/etc/fstab,在对应分区挂载选项中添加usrquota,grpquota(以XFS为例):
    /dev/sda1 /home xfs defaults,usrquota,grpquota 0 0
    保存后执行sudo mount -o remount /home重新挂载。

2. 初始化配额数据库

  • 执行命令:
    sudo quotacheck -cum /home-c创建数据库,-u为用户启用,-m为组启用)。

3. 启用配额

  • 运行:
    sudo quotaon -vug /home-v显示详情,-u为用户启用,-g为组启用)。

4. 为用户设置具体配额

  • 使用edquota命令编辑用户配额(以用户UID为例):
    sudo edquota -u 10011001替换为SFTP用户的UID,可通过id命令查看)
    在编辑器中设置软限制(soft)和硬限制(hard),单位为KB(如102400为100MB):
    Disk quotas for user 1001:
      Filesystem       blocks   soft   hard  inodes   soft   hard
      /dev/sda1      102400  1048576 1258291     1280     512   1024
    
    保存后退出。

三、验证与维护

  • 查看配额使用情况:sudo repquota -a
  • 若需修改配额,重复edquota步骤即可。

注意事项

  • 配额仅对用户通过SFTP访问的文件生效,需确保用户主目录权限正确(如chown root:root /home/sftpuser)。
  • 若使用chroot限制用户目录(如ChrootDirectory /sftp/%u),需确保配额目录为用户的根目录或其子目录。

0