jueves, 30 de julio de 2009

Usar "find" en 2 pasos practicos.

Aqui algunos ejemplos practicos del uso para el comando find, sumamente util si eres un administrador de sistemas y quieres darle un chequeo periodicamente a tu server de los archivos que por ahi se encuentran. Si hay algun error en alguno de los ejemplos, hacermelo saber para corregirlo a la brevedad.

#======
#  find
#======

-atime n archivo accedido hace n dias
-mtime n archivo modificado hace n dias
-size n n=512-byte blocks long
-type c f=plain file d=directory
-user usr archivos cuyo propietario sea usr
-name nam archivos cuyo nombre sea nam
-group grp archivos cuyo grupo propietario sea grp
-perm permisos de un archivo

-exec ejecutar un comando
-ok pregunta antes de ejecutar un comando
-prune no ingresa dentro de los directorios encontrados


######################################################

s second
m minute (60 seconds)
h hour (60 minutes)
d day (24 hours)
w week (7 days)

Any number of units may be combined in one -atime argument, for
example, ``-atime -1h30m

######################################################

# Ubica archivo cuyo nombre es 'core' desde la raiz
find / -name core


# Busca en el directorio activo documentos donde sea propietario operador
find .  -user operador

# Archivos q hayan sido accedido hace mas de 2 dias
find /home/noc -atime +2

# Archivo accedidos hace mas de 2 dias y modificado hace menos de 7 dias
find /home +atime +2 -mtime -7

# Indica el tipo de archivos hay en el directorio actual
find . -type f -exec file {} \;

# Busca archivos en '/home/noc/test' cuyo nombre es prueba 
find /home/noc/test  -name prueba

#Muestra todos los archivos menos el de nombre 'prueba'
find /home/noc/test \! -name prueba

# Para borrar archivos con cierto nombre (2 formas)
find . -type f -name \*core\* -exec ls -l {} \; -exec rm -f {} \;

find . -type f -name \*core\* -print | xargs rm -f

# Muestra archivos (no directorios) modificados hace menos de 2 dias y los lista
find /home -type f -mtime -2 -exec ls -l {} \;

# Muestra archivos en el directorio actual q hayan sido accedidos hace - de 3 dias O modifacado hace + de 7 dias y lista el resultado.
ind . -type f \( -atime -3 -o -mtime +7 \) -exec ls -l {} \;

# Muestra todos los archivos mmc exepto prueba.mmc en el directorio actual 
find . \! -name prueba.mmc -name \*.mmc

# Ubica archivos de mas de 500MB accedidos despues de 2 meses
find /usr/i -size +1000 -atime +60 -print

# Busca archivos Sticky , SUID y SGID desde la raiz
find / -type d \( -perm 1777 -o -perm 2777 -o -perm 4777 \)

# Hace lo anterior y lo compara con un archvivo previamente creado, permite ver si hay un SUID , SGUID o Sticky nuevo.
find . -type d \( -perm 1777 -o -perm 2777 -o -perm 4777 \) | diff - /home/operador/files.secure

# Cambia el propietario y grupo propietario de operador a noc
find /home/noc/ -user operador -print -exec chgrp noc {} \; -exec chown noc {} \;

# Cambia usuario y grupo a operador excepto el archivo '.shrc'
find . -user noc \! -name .shrc -exec chgrp operador {} \; -exec chown operador {} \;

# Otra forma de hacer lo mismo
find . -print | xargs chown noc

===================================================================
ON FILE ON DIRECTORY
===================================================================
r view file content to use ls
w alter file content alter content (delete file)
x run executable file make it current directoy (use cd)

No hay comentarios:

Distributed Denial-of-Service (DDoS)

Distributed Denial-of-Service, or more commonly known in its abbreviated form – DDoS – is an organized attempt to render a computer resource...