在Linux FTP服务器上设置磁盘配额可以帮助你控制用户对磁盘空间的使用,防止某些用户占用过多的磁盘空间。以下是一个基本的步骤指南,使用quota
和xfs_quota
(假设你的文件系统是XFS)来设置磁盘配额。
首先,确保你的系统上安装了quota
和xfsprogs
(如果你的文件系统是XFS)。
sudo apt-get update
sudo apt-get install quota xfsprogs
/etc/fstab
编辑你的文件系统的挂载选项,添加usrquota
和grpquota
选项。例如,如果你的FTP数据目录是/var/ftp
,并且它挂载在/dev/sda1
上,你需要编辑/etc/fstab
文件:
/dev/sda1 /var/ftp xfs defaults,usrquota,grpquota 0 2
然后重新挂载文件系统以应用更改:
sudo umount /var/ftp
sudo mount -a
启用用户和组的配额:
sudo quotacheck -cum /var/ftp
sudo quotaon -vug /var/ftp
你可以为特定用户或组设置配额限制。例如,为用户ftpuser
设置软限制为100MB,硬限制为150MB:
sudo edquota -u ftpuser
在打开的编辑器中,你会看到类似以下的内容:
Disk quotas for user ftpuser (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 10485760 10485760 15728640 0 0
修改blocks
行的软限制和硬限制,然后保存并退出编辑器。
同样地,你可以为组设置配额:
sudo edquota -g ftpgroup
你可以使用以下命令来验证配额设置是否生效:
quota -u ftpuser
quota -g ftpgroup
你可以定期检查配额使用情况,以确保没有用户超过其配额限制:
repquota -a
确保你的FTP服务器配置允许配额检查。对于vsftpd,你可以在/etc/vsftpd.conf
中添加以下行:
quota_enable=YES
quota_file=/var/ftp/quota.user
quota_group_enable=YES
quota_group_file=/var/ftp/quota.group
然后重启vsftpd服务:
sudo systemctl restart vsftpd
通过以上步骤,你应该能够在Linux FTP服务器上成功设置磁盘配额。请根据你的具体需求和环境进行调整。