Je cherche à parcourir récursivement les répertoires pour trouver les fichiers qui n'appartiennent pas à un utilisateur en particulier et je ne sais pas comment écrire cela.
L'utilitaire find (1) a des fichiers primaires qui peuvent être annulés ("inversés") à l'aide de l'option "!" opérateur. Sur l'invite, il faut toutefois échapper à la négation avec une barre oblique inversée car il s'agit d'un métacaractère Shell. Résultat:
find . \! -user foo -print
Recherche de fichiers qui n'appartiennent pas à quelqu'un
D'autres ont répondu à la question "N'appartient pas à un utilisateur particulier" dans le corps. En voici une qui répond à la question titulaire mais n'a pas été fournie:
$ find / -nouser
Vous pouvez l'utiliser comme ceci:
$ Sudo find /var/www -nouser -exec chown root:Apache {} \;
Et un connexe:
$ find / -nogroup
-user
trouve par utilisateur ou ID utilisateur et !
_ inverse le prédicat. Alors, ! -user ...
.
Vous pouvez utiliser ceci:
find <dir> ! -user <username>
En utilisant z-Shell (zsh), vous pouvez utiliser
ls -laR *(^U)
ou
ls -la **/*(^U)
pour rechercher tous les fichiers récursivement qui ne vous appartiennent pas.