Найдите файлы, не принадлежащие конкретному пользователю в Linux
Система Linux может состоять из разных пользователей с разными разрешениями. Однако иногда нам необходимо найти файлы конкретного пользователя и получить к ним доступ. Итак, в этом случае вы можете использовать команду find для отображения файлов, принадлежащих любому другому пользователю.
Команды поиска позволяют искать определенный файл в каталоге. С помощью этой команды вы можете найти список доступных файлов по владельцу, типу и атрибутам, например имени файла. Утилита команды find предустановлена почти в каждом дистрибутиве Linux.
Так что, если вы также хотите найти файл, принадлежащий конкретному пользователю, это руководство для вас. В этом руководстве мы будем использовать команду «найти» для поиска файлов определенных пользователей в Linux.
Как найти файлы, не принадлежащие конкретному пользователю в Linux?
С помощью команды find вы можете перечислить все файлы, которые не имеют права собственности или не принадлежат ни одному пользователю. Сначала выполните следующую команду, чтобы просмотреть все файлы, у которых нет пользователя:
~$: find / -nouser
find: '/etc/polkit-l/localauthority': Permission denied
find: '/etc/cups/ssl': Permission denied
find: '/etc/ssl/private': Permission denied
find: '/root': Permission denied
find: '/var/spool/postfix/flush': Permission denied
find: '/var/spool/postfix/saved': Permission denied
find: '/var/spool/postfix/maildrop': Permission denied
find: '/var/spool/postfix/active': Permission denied
Здесь перечислены все файлы системы, которыми не владеет ни один пользователь. Команда find содержит отрицание теста для поиска файлов, принадлежащих любому пользователю. Это позволяет вам добавить '!' перед проверкой, чтобы отрицать проверочное выражение. Благодаря этому вы сможете найти те файлы, у которых нет владельца.
Перечислите все файлы, которые не принадлежат какому-либо конкретному пользователю, с помощью следующей команды:
~$: find ! -user
Например, здесь мы перечисляем все файлы, не принадлежащие пользователю с именем «prateek».
~$: find ! -user prateek
./.1ocal/share/Trash/files/test_results
./.1ocal/share/Trash/files/linux
./.1ocal/share/Trash/files/no-directory.txt
./.local/share/Trash/files/point $ I
Как видно из приведенного выше результата, в списке перечислены все файлы, владельцем которых не является «prateek».
Подведение итогов
Команда Find поможет вам найти любой файл в Linux. Аналогично, в этом руководстве мы используем команду find для поиска файлов, у которых нет конкретного владельца. Найти файл, принадлежащий пользователю, легко, поскольку вам нужно всего лишь добавить знак '!' с командой. Мы надеемся, что это руководство поможет вам найти все те файлы, которыми не владеет ни один конкретный пользователь.