In situations like this, I usually first use du -kx | sort -rn | less to list the directories in a largest-first order. That tells me where the biggest individual disk hogs are, so I'll know where to look. But as @SimonDoppler said, if you don't have at least r-x access to all the sub-directories, your listing will be incomplete: you'll only be able to get the sizes of directories you'll be able to access.
Remember: normally you only need to have write access to a directory to delete any files in it. Only if the directory has the sticky bit set (i.e. the last letter in the permission letter string is a t instead of x), you need be the owner of the file in order to delete it.
If there is no quota available, you may need to do something like this:
#!/bin/sh
if [ "$1" = "" ] || [ "$1" = "-h" ]
then
echo "Usage: ${0##*/} <directory> <username(s)...>" >&2
exit 64 # EX_USAGE
fi
if ! [ -d "$1" ]
then
echo "ERROR: directory $1 does not exist" >&2
exit 66 # EX_NOINPUT
fi
REPORTROOT="$1"
shift
for U in "$@"
do
# Find all files under $REPORTROOT owned by a particular user,
# get their sizes and sum them together.
DISKUSE=$(find "$REPORTROOT" -type f -user "$U" \
-exec stat -c %s {} \+ 2>/dev/null \
| awk '{s+=$1} END {printf("%ld\n", s)}')
# Display the result for this user.
printf "%16s: %d\n" "$U" "$DISKUSE"
done
Note that running this may take a while.
The "calculate a sum of a list of numbers" awk one-liner is from this Stack Overflow post. Note the comments of the answer.