在Linux FTP服务器上设置磁盘配额可以帮助你限制用户对磁盘空间的使用,从而防止某个用户占用过多的磁盘空间。以下是使用quota
包来设置磁盘配额的步骤:
首先,你需要安装quota
包。根据你的Linux发行版,使用相应的包管理器进行安装。
sudo apt-get update
sudo apt-get install quota
sudo yum install quota
sudo dnf install quota
编辑/etc/fstab
文件,添加usrquota
和grpquota
选项到FTP服务器的挂载点。
例如,如果你的FTP服务器使用的是/home
目录,编辑/etc/fstab
文件:
sudo nano /etc/fstab
找到类似以下的行:
/dev/sda1 /home ext4 defaults 0 2
修改为:
/dev/sda1 /home ext4 defaults,usrquota,grpquota 0 2
保存并退出编辑器。
重新挂载文件系统以应用新的配额设置:
sudo mount -o remount /home
初始化配额数据库:
sudo quotacheck -cum /home
启用配额:
sudo quotaon -vug /home
你可以为特定用户或用户组设置配额限制。以下是一些常用的命令:
sudo edquota -u username
这将打开一个编辑器,允许你设置用户的软限制和硬限制。例如:
Disk quotas for user username (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 1000000 500000 600000 10000 20000 25000
blocks
:磁盘块数(以KB为单位)inodes
:文件数sudo edquota -g groupname
你可以使用以下命令来验证配额设置:
quota -u username
quota -g groupname
确保你的FTP服务器配置文件(如vsftpd.conf
)中没有禁用配额的设置。例如,在vsftpd.conf
中,确保有以下行:
quota_enable=YES
quota_file=/var/lib/vsftpd/quota.user
quota_group_enable=YES
quota_group_file=/var/lib/vsftpd/quota.group
然后重启FTP服务器:
sudo systemctl restart vsftpd
通过以上步骤,你应该能够在Linux FTP服务器上成功设置磁盘配额。