Для этого используйте grep:
ls -o
для просмотра текущей папки
ls -o . */**
для вывода списка подпапок, но для каждого файла укажите полный подпуть
ls -o */** | grep -v '^d'
для исключения каталогов из списка
Чтобы увидеть, какие файлы вы можете прочитать, вы можете выполнить команду grep для владельца:
ls -o . */** | grep -v '^d' | grep " $LOGNAME "
Тонкость заключается в том, что вы можете читать все файлы, которые имеют разрешение на уровне группы r
или все права пользователя r
.
Включить последнее легко:
ls -o . */** | grep -v '^d' | egrep "( $LOGNAME |^.......r..)"
Включить файлы, к которым вы можете получить доступ через групповые разрешения, немного сложнее. Не проверено, поэтому здесь идет:
GROUP_GREP=$( groups | sed 's/ /|/g' )
ls -l */** | grep -v '^d' | egrep "( $LOGNAME |^.......r..|$GROUP_GREP)"
Теперь вам может потребоваться внести уточнения в случаях, когда имя файла содержит какие-либо условия поиска grep (например, имя пользователя или имена групп).