La primera averiguación que debemos efectuar, por obvia que pueda resultar, es el tipo de sistema operativo al que nos enfrentamos.
Aunque tengamos el apoyo de la Piedra Rosetta UNIX, hay algunas cosas, que veremos a su debido tiempo, que varían en función al sistema. Recordemos que los UNIX y derivados tienen cosas en común, pero no por ello son clones: hay cosas que varían, unas variarán mucho y otras tan sólo variarán un poco.
Para nuestra fortuna, la identificación de los sistemas que trataremos a lo largo de estas entradas siempre se realiza, salvo casos muy especiales, de la misma manera. Para ello, se emplea el comando uname:
uname [-aimnprsvX]
Lo normal es ejecutar un uname -a, que equivale a una consulta uname -mnrsv (m para el nombre de máquina, n para el nombre del nodo, r para la mostrar la release, s para mostrar el nombre del sistema operativo y v para mostrar la versión del sistema operativo) (véase el cuadro de excepciones)
Ejemplo práctico
Ejecutamos en consola uname -a, obteniéndose el siguiente resultado:
SunOS tape 5.8 Generic_108528-19 sun4u sparc SUNW,Sun-Fire-280R
De donde deducimos:
-
– Que se trata de un Solaris 8 (SunOS 5.8)
– Que el nivel de parche es Generic_108528-19 (veremos en capítulos posteriores que este bundle de parches quedó obsoleto por el 108528-20, y que corresponde a Febrero de 2003)
– Que tape nos indica que es una versión que procede de una cinta de instalación.
– Que el procesador de la máquina es SPARC y la arquitectura es sun4u.
– Que posiblemente se trata de una máquina antigua, ya que los servidores Sun Fire 280R han sido reemplazados por las series Sun Fire V240.
Como véis, el comando uname nos ha dado información suficiente para identificar con gran detalle este sistema Solaris.
Resumen
El comando uname muestra habitualmente información suficiente para identificar el sistema, y debe ser ejecutado para recopilar la máxima información de partida del mismo.
Aunque el comando «uname» es bastante útil, no suele serlo tanto en sistemas GNU/Linux.
En sistemas GNU/Linux, el comando «uname» se limita a ofrecer información sobre el núcleo, pero no sobre las herramientas de espacio de usuario (o la distribución). Y es que GNU/Linux la integración entre el núcleo y el resto del sistema es más débil que en otros UNIX, como FreeBSD o Solaris, donde el núcleo y el resto del sistema son un todo.
Por ello, en GNU/Linux, suele ser interesante buscar archivos en /etc que contengan información sobre la versión de la distribución, como /etc/lsb-release. Este archivo contiene información sobre la distribución en su conjunto.
Gracias por la apreciación, Felipe. La comparto al 100%.
Siento no tratar a GNU/Linux como centro de estos artículos, confieso que ni me he planteado ejemplifcar algo de lo que vemos con Linux, aunque intentaré acordarme cuando hagamos verificaciones más usuales, como la de enfrentar los contenidos de /etc/passwd con los de etc/ftpusers, por poner un ejemplo.
He preferido centrarme en otros sistemas «menos trillados» sobre los que hay menos bibliografía y ejemplos prácticos. Además, y a fin de cuentas, son los entornos con los que más experiencia tengo.
Espero resulten de tu agrado estas entradas. Ya sabes que como siempre, tus aportaciones son bienvenidas :)
Me alegra saber que mis aportaciones son bienvenidas :-)
En cualquier caso, las lineas generales que cubres con estas entradas, aunque sean especificas a algunas familias de UNIX, seran sin duda de utilidad para cualquier auditar un sistema GNU/Linux o incluso un *BSD como FreeBSD u OpenBSD.
Gracias por tomarte el tiempo de escribir estos articulos.
Estimado Sergio,
Estoy aprendiendo mucho con tu sitio, te pregunto algo bien basico, ¿tienes algun manual de unix para los que recien estamos aprendiendo?, el sistema operativo que tengo es:
SunOS suriorj01 5.8 Generic_117350-47 sun4u sparc SUNW,Sun-Fire-880
gracias