#!/bin/bash # recopilator.sh # by Miguel Angel Torres aka mate # recopila información del sistema. separador() { # función encargada de imprimir el separador entre secciones echo '****************************************************************************' # comprueba si el primer parámetro contiene algo if [ -n "$1" ]; then echo $1 else echo '' fi } ejecutaComando() { separador "$1" separador $2 separador } clear separador "Informe Linux ($LOGNAME)" separador # versión y demás del kernel. ejecutaComando 'uname -a (versión de kernel)' "uname -a" # tiempo de funcionamiento ejecutaComando 'uptime (tiempo sistema levantado)' uptime # lista de procesos en ejecución ejecutaComando 'ps (lista de procesos)' ps # modulos cargados ejecutaComando 'lsmod (modulos cargados)' lsmod # seguridad: shadow passwords # no funciona if [ "$LOGNAME" = "root" ]; then ejecutaComando '/etc/shadow' "[-f '/etc/shadow']; || echo 'las contraseñas no están en shadow'" fi # seguridad: shadow passwords # no funciona if [ "$LOGNAME" = "root" ]; then ejecutaComando '/etc/shadow' "[-f '/etc/shadow']; && echo 'las contraseñas están en shadow'" fi # puntos de montaje (mount o /etc/mtab) ejecutaComando 'mount (fs montados)' "mount" # puntos de montaje al arrancar (/etc/fstab) ejecutaComando '/etc/fstab' "cat /etc/fstab" # hardware: estado discos ejecutaComando 'df -k (estado discos)' "df -k" # hardware: dispositivos PCI ejecutaComando 'lspci (dispositivos PCI)' lspci # hardware: CPU ejecutaComando '/proc/cpuinfo' "cat /proc/cpuinfo"