Para buscar archivos o carpetas tu mejor opción es el comando find
, es una herramienta muy útil y muy flexible con infinidad de posibilidades.
Buscando archivos de un usuario cocreto con el comando find.
Para buscar archivos por usuario desde la terminal Linux puedes usar el siguiente comando:
find . -user www-data
Te explico las diferentes partes del comando:
- El
.
indica la ruta donde buscar, al usar un punto estamos indicando que busque en la ruta actual y todos sus susbdirectorios.
- Con la opción
-user www-data
indicas que busque únicamente archivos que pertenezcan al usuario www-data
.
En lugar del nombre de usuario www-data
puedes usar su UID (identificador de usuario). En mi caso el id de usuario de www-data
es 33. Te preguntarás cómo he obtenido el UID, pues muy sencillo, con el comando id www-data
que muestra la siguiente información:
admin@ubuntu:~$ id www-data
uid=33(www-data) gid=33(www-data) groups=33(www-data)
Para buscar archivos usando el UID usaría el comando:
find . -uid 33
Te pongo otro ejemplo, en el que restrinjo la búsqueda a un tipo de archivo concreto, al mismo tiempo que mantenemos la condición de que el dueño del archivo sea un usuario concreto:
find . -user www-data -name '*.php'
En el ejemplo anterior, buscaremos los archivos que pertenecen al usuario www-data
y que al mismo tiempo tienen extensión php.
Buscando archivos de un grupo cocreto con el comando find.
Para buscar por grupo de usuario se hace de forma muy parecida:
find . -group www-data
De la misma forma, podemos especificar el GID (identificador de grupo) en lugar del nombre del grupo:
find . -gid 33
Por último, podemos combinar ambas opciones y restringir la búsqueda a un usuario y un grupo concreto, por ejemplo:
find . -user www-data -group www-data
Espero que te haya servido de ayuda.