Я ищу рекурсивно просматривать каталоги, чтобы найти файлы, НЕ принадлежащие конкретному пользователю, и я не уверен, как это записать.
Поиск файлов, НЕ принадлежащих кому-либо
Ответ 1
У утилиты find (1) есть праймериз, которые можно отменить ( "отменить" ) с помощью "!" оператор. Однако в подсказке следует избегать отрицания с помощью обратного слэша, поскольку это метасимвол оболочки. Результат:
find . \! -user foo -print
Ответ 2
Поиск файлов, НЕ принадлежащих кому-либо
Другие ответили на вопрос "НЕ принадлежит конкретному пользователю" в теле. Здесь тот, который отвечает на титульный вопрос, но не был предоставлен:
$ find / -nouser
Вы можете использовать его так:
$ sudo find /var/www -nouser -exec chown root:apache {} \;
И связанный с ним:
$ find / -nogroup
Ответ 3
-user
находит пользователь или идентификатор пользователя, а !
инвертирует предикат. Итак, ! -user ...
.
Ответ 4
Вы можете использовать это:
find <dir> ! -user <username>
Ответ 5
Используя z-shell (zsh), вы можете использовать
ls -laR *(^U)
или
ls -la **/*(^U)
для поиска всех файлов, рекурсивно не принадлежащих вам.