It is possible to open and try to read the quota files that the kernel maintains, from userspace. This could be used used to provide filesystem users a utilily to compare filesystem usage.
We need a hint from the file quotaio_v2.h
#!/bin/bash F="${1}" while shift do Q=(`hexdump -ve \"%08x\\\n\" "${F}"`) if test "${Q[0]}" != "d9c01f11" then echo We can read aquota.user files exit 1 fi if test "${Q[1]}" == "00000000" then ilx=6 ihx=7 r=12 qb=20 elif test "${Q[1]}" == "00000001" then ilx=12 ihx=13 r=18 qb=13 else echo aquota.user version "${Q[1]}" exit 1 fi S=$(( ${#Q[*]} / 256 - 1)) for INDEX in `seq 1 $S` do for SUBINDEX in `seq 0 $qb` do SUBOFF=$(( $INDEX * 256 + $SUBINDEX * $r + 4)) ID=${Q[$(( $SUBOFF + 0))]} IL=${Q[$(( $SUBOFF + $ilx))]} IH=${Q[$(( $SUBOFF + $ihx))]} WHO=$(( 0x$ID)) OCTETS=$(( 0x$IH$IL )) if test $WHO -gt 999 then declare -i USAGE[$WHO] USAGE[$WHO]+=$OCTETS fi done done F="${1}" done eval `getent passwd | sed -s s/^\\\\\([^:]*\\\\\):[^:]*:\\\\\([^:]*\\\\\):.*$/USERS[\\\\2]=\\\\1/g` echo $'<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:svg="http://www.w3.org/2000/svg" ><head><title></title></head><body><svg:svg width="'$(( ${#USAGE[@]} * 100 ))$'" height="900"> ' for WHO in "${!USAGE[@]}" do echo "${USERS[$WHO]}" "${USAGE[$WHO]}" done | sort -k 2 -rn | while read NAME USAGE do if test -z "${MAX}" then X=20 MAX=${USAGE} fi HEIGHT=`echo 800\*l\(${USAGE}\)/l\(${MAX}\)|bc -l|cut -d"." -f1` Y=$(( 800 - $HEIGHT )) echo "<svg:g>" echo "<svg:rect height=\"${HEIGHT}\" width=\"20\" x=\"${X}\" y=\"${Y}\" style=\"fill:#"`printf %02x%02x $(( $HEIGHT / 8)) $(( $Y / 4)) `"00;fill-opacity:1\"/>" echo "<svg:text x=\"${X}\" y=\"820\">${NAME}</svg:text>" echo "<svg:text x=\"${X}\" y=\"850\" style=\"font-size: 0.4em;\">${USAGE}</svg:text>" echo "</svg:g>" X=$((X + 100)) done echo "</svg:svg></body></html>"