我已将我的盒子配置为允许某个用户获得最多 2GB 的存储空间,这要感谢quota
。
我思考我已经正确启用它。/etc/fstab
显示usrquota,grpquota
,quotaon
表示一切正常但我今天已经可以违反配额了。
从 SSH,我使用 sudo 进入该用户并尝试创建一个 4GB 的文件
# sudo -u targetuser bash ##the user cannot use SSH
targetuser@host:~> dd if=/dev/zero of=prova.bin count=4096 bs=1048536
sda1: warning, user block quota exceeded.
^C^C3592+0 records in
3592+0 records out
3766341312 bytes (3,8 GB) copied, 333,72 s, 11,3 MB/s
edquota -u targetuser
显示(在我删除文件之后)
Disk quotas for user targetuser (uid 1006):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 181200 2097072 22097072 10230 0 0
在删除大象之前我还能够写入一个新文件。
问题非常简单:为什么 Linux 不阻止 dd 写入更多内容,而只是发出警告?
当用户尝试写入超出允许内容的内容时,我该怎么做才能引发错误?