Configurei minha caixa para permitir que determinado usuário tenha até 2 GB de armazenamento graças a quota
.
Eu acho que eu o habilitei corretamente. /etc/fstab
mostra usrquota,grpquota
, quotaon
diz que está tudo bem mas Eu consegui violar a cota hoje.
Do SSH, eu sudo-me para esse usuário e tentei criar um arquivo de 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
mostra (depois que eu deletei o arquivo)
Disk quotas for user targetuser (uid 1006):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 181200 2097072 22097072 10230 0 0
Eu também pude escrever um novo arquivo antes de deletar o elefante.
A pergunta é tremendamente simples: por que o Linux não impediu que o dd escrevesse mais em vez de apenas avisar?
O que posso fazer para gerar um erro quando um usuário tenta escrever mais do que o permitido?