Est-il possible de trouver et de supprimer tous les fichiers appartenant à un utilisateur spécifique? J'ai fait un tas de choses en tant que mauvais utilisateur et je dois donner à l'utilisateur le droit de propriété des fichiers.
Existe-t-il un moyen récursif et conditionnel de chowner un tas de fichiers et de répertoires?
Vous pouvez utiliser cette commande de recherche portable avec quelque chose comme ceci.
find . -user old-user -exec chown new-user:new-group {} \;
Vous pouvez le développer pour rechercher des fichiers spécifiques avec les options -iname (non POSIX mais disponible sous OSX)
find . -iname '*.html' -user www-data -exec chown www-data:www-data {} \;
Le . représente le dossier en cours et ci-dessous, vous pouvez donc utiliser un chemin spécifique comme base.
find /var/www/ -iname '*.html' -user www-data -exec chown www-data:www-data {} \;
Vous pouvez utiliser
chown --from=CURRENT_OWNER:CURRENT_GROUP -R new_owner:new_group *
À partir du manuel chown --help
:
--from=CURRENT_OWNER:CURRENT_GROUP
change the owner and/or group of each file only if
its current owner and/or group match those specified
here. Either may be omitted, in which case a match
is not required for the omitted attribute.
edit : Ceci, bien sûr, ne fonctionne que sur linux et la plupart des UNIces . Pour OSX (basé sur BSD), voir la solution de @StephenTrapped.
L'option -h
de chown modifie l'autorisation des fichiers de lien symbolique eux-mêmes et pas uniquement de la cible.
Ce qui pourrait être crucial lorsque vous faites cela sur des dossiers logiciels binaires, qui utilisent des liens symobliques pour basculer entre les versions.
find . -user old-user -exec chown -h new-user:new-group {} \;