Si anteriormente hable de el comando lsof, hoy le toca a find.
find, es uno de esas poderosas herramientas de Unix/Linux de las que sólo aprovechamos una ínfima parte de su extraordinario poder.
Gran parte de preguntas sobre linux, podrían resolverse con este comando. .
Para sacar provecho de estas herramientas, simplemente es necesario familiarizarse con sus opciones.Vamos a adentrarnos en las profundidades de este comando de una manera progresiva.
Recordad que el primer argumento que le pasamos a find es donde buscar.
Encuentra archivos de una determinada extensión.
#find . -name *.jpg
Encuentra archivos que pertenezcan a cierto usuario.
#find . -user squid
Busca sólo directorios (si lo combinamos con lo anterior, sólo mostrará el tipo especificado -directorio), tambien podría buscar archivos (f), links (l), o sockets (s).
#find . -user squid -type d
Busca archivos mayores de 1G.
#find /home/movies -size +1048576k
o según sistema.
#find /home/movies -size +1024M
Podemos combinar argumentos. (usuario y tamaño)
#find . -user squid -size +1024M
Excluimos un archivo que sabemos cumplirá esa condición.
#find . -user squid -size +1024M ! -name access.log*
Opciones para análisis forense.
Encuentra todos los archivos de /etc propiedad de root que han sido modificados en las últimas 24 horas.
#find /etc -user root -mtime 1
(si no nos sale ninguno, probar a añadir o borrar un usuario del sistema, y ejecutarlo después).
Muestrame todos los archivos de /etc propiedad de root que han sido modificados en los 2 últimos minutos.
#find /etc -user root -amin -2
Muestrame todos los archivos de /etc con demasiados permisos
#find /etc -perm 777
COMBINA FIND CON XARGS
Con esta combinación podremos ejecutar una acción determinada para cada archivo que nos muestre find.
Hasta ahora habíamos visto algunas opciones con find del tipo "muestrame este tipo de archivos", pero más interesante es poder decirle al sistema, "Coge cada archivo propiedad de John que no haya sido accedido en los últimos 60 días y muevelo a la carpeta Backup".
Busca archivos en esta ruta que sean propiedad de el usuario john y bórralos.
#find /usr/local -user john -type f | xargs rm
Corrige los permisos de tu directorio web.
find /usr/local/apache/htdocs/tuweb -type d | xargs chmod 755
Y mi favorito para aplicar una cuota a los usuarios de una partición entera.
Imagina una partición de un servidor que contiene 1000 usuarios, aplica la cuota especificada a todos ellos con este simple comando.
#find /home/users -type d -maxdepth 1 -mindepth 1 | awk -F "/" '{print $3}' | xargs -i edquota -F vfsv0 -u {}
Más datos en find, xargs y dmiessler.
No hay comentarios:
Publicar un comentario