Use setquota
.
Na forma simples, o comando é
setquota user blockquota blocklimit inodequota inodelimit filesystem
Por exemplo,
setquota foo 10G 10G 0 0 /data
para definir a cota flexível e o limite máximo para 10 GB e nenhum limite de inode para o usuário foo
on /data
.
Suponho que você poderia usar quota -u $username
para obter as cotas atuais, mas não tenho certeza de como isso é fácil de analisar com um script.