Помните, что командная строка анализируется и подстановочные знаки заменяются ДО того, как она будет выполнена.
Если вы укажете имя пользователя, то команда sudo ... сможет увидеть файл, потому что он обращается к нему как root.
Когда вы набираете '*', ваша оболочка USER расширяет ее до путей, которые она может видеть, ну ... путей, которые позволяют вашему текущему пользователю искать в подкаталогах.
Вы можете попытаться заключить строку пути в одиночные кавычки, чтобы предотвратить расширение, я не уверен, что это сработает, так как большинство Unix-программ ожидают, что оболочка будет расширять символы подстановки и, следовательно, сами не выполняют действия по смещению.
РЕДАКТИРОВАТЬ: мысль о том, как достичь своей цели чтения файлов авторизованных ключей для всех пользователей:
sudo find /home -name "authorized_keys" -exec cat "{}" \; > all_the_data
Может быть, грубо, но это будет работать, так как вы выполняете поиск файлов как пользователь root, а не как пользователь.
Я полагаю, другой путь:
sudo 'find /home -name "authorized_keys" -print0 | xargs -0 cat' > all_the_data
Это лучше по количеству процессов, так как он накапливает все имена файлов, а затем «их» ... но мне нравится первое, никаких специальных кавычек не требуется.
Кавычки (одиночные или иные) вокруг всей команды обязательны из-за команды pipe. обе команды find и xargs ДОЛЖНЫ выполняться от имени пользователя root. Да, сложнее, чем первый.