Суть проверки проста: от имени пользователя чьи права проверяются нужно запустить команды
Проверка прав на чтение
su -l login-for-user find / -type d \( -wholename '/dev/*' -o -wholename '/sys/*' -o -wholename '/proc/*' \) -prune -o -exec test -r {} \; -exec echo {} is readable \; 2>/dev/null
Проверка прав на запись
su -l login-for-user find / -type d \( -wholename '/dev/*' -o -wholename '/sys/*' -o -wholename '/proc/*' \) -prune -o -exec test -w {} \; -exec echo {} is writable \; 2>/dev/null
Чтобы разбрать результат по полям нужно через конвеер отправить вывод команде:
cut -d'/' -f1,2,3 | sort -u
Разновидность команды (на современных версиях find):
su -l login-for-user find / ! -writable find / -writable