web-dev-qa-db-fra.com

Recherche de fichiers qui n'appartiennent pas à quelqu'un

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.

161
mike628

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
248
Mel

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
32
jww

-user trouve par utilisateur ou ID utilisateur et ! _ inverse le prédicat. Alors, ! -user ....

Vous pouvez utiliser ceci:

find <dir> ! -user <username> 
10
Crayon Violent

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.

3
A.B.