Comando Linux


Aqui dejo este manual algo sencillo pero indispensable para cualquier usuario. Es bueno para tenerlo hay por si nos surge alguna duda sobre los comandos más usados.

También dispone de una documentación para cada comando. Por ejemplo para ver la documentación del comando ls, tecleamos lo siguiente en un terminal.



man ls

Dicho esto, aqui os dejo la lista de comandos más indispensables para Linux:

* ls

list: listar. Es el primer comando que todo linuxero debe aprender. Nos muestra el contenido de la carpeta que le indiquemos después. Por ejemplo. Si queremos que nos muestre lo que contiene /etc:

$ ls /etc

Si no ponemos nada interpretará que lo que queremos ver es el contenido de la carpeta donde estamos actualmente:

$ ls

Además acepta ciertos argumentos que pueden ser interesantes. Para mostrar todos los archivos y carpetas, incluyendo los ocultos:

$ ls -a

Para mostrar los archivos y carpetas junto con los derechos que tiene, lo que ocupa, etc:

$ ls -l

Además se pueden solapar los argumentos. Si quisiéramos mostrar los archivos de la misma forma que antes, pero que muestre también los ocultos:

$ ls -la
* cd

change directory: cambiar directorio. Podemos usarlo con rutas absolutas o relativas. En las absolutas le indicamos toda la ruta desde la raíz (/). Por ejemplo, estemos donde estemos, si escribimos en consola…

$ cd /etc/apt

…nos llevará a esa carpeta directamente. Del mismo modo si escribimos…

$ cd /

…nos mandará a la raíz del sistema de ficheros.

Las rutas relativas son relativas a algo, y ese algo es la carpeta donde estemos actualmente. Imaginad que estamos en /home y queremos ir a una carpeta que se llama temporal dentro de vuestra carpeta personal. Con escribir…

$ cd tu_carpeta/temporal

…nos situará allí. Como véis hemos obviado el /home inicial ya que si no lo introducimos toma como referencia el directorio donde estamos, que es ese.

¿Y qué sucede si escribimos tan sólo…

$ cd

Sí, sólo “cd”. Esto lo que hace es que te lleva a tu carpeta personal directamente y estemos donde estemos. Es algo realmente muy práctico, muy simple y que no todos conocen.
* mkdir

make directory: hacer directorio. Crea una carpeta con el nombre que le indiquemos. Nuevamente podemos usar rutas absolutas y relativas. Podemos indicarle toda la ruta que le precede al directorio que queremos crear, o si estamos ya en la carpeta que lo va a contener basta con poner tan sólo el nombre:

$ mkdir /home/tu_cuenta/pepino

Si ya estamos en /home/tu_cuenta…

$ mkdir pepino
* rm

remove: borrar. Borra el archivo o la carpeta que le indiquemos. Como antes se puede indicar la ruta completa o el nombre del archivo. Esto a partir de ahora lo vamos a obviar, creo que ya ha quedado claro con los dos comandos anteriores.

Para borrar un archivo:

$ rm nombre_archivo

Para borrar una carpeta vacía:

rm nombre_carpeta

Para borrar una carpeta que contiene archivos y/o otras carpetas que pueden incluso contener más:

rm -r nombre_carpeta

Otras opciones: “-f” no te pide una confirmación para eliminar o “-v” va mostrando lo que va borrando.
* cp

copy: copiar. Copia el archivo indicado donde le digamos. Aquí podemos también jugar con las rutas, tanto para el fichero origen, como en el del destino. También podéis poner el nombre que le queréis poner a la copia. Por ejemplo, si estuviéramos en /etc/X11 y quisiéramos hacer una copia de seguridad de xorg.conf en nuestra carpeta personal:

$ cp xorg.conf /home/tu_carpeta/xorg.conf.backup
mv

move: mover. Es igual que el anterior, sólo que en lugar de hacer una copia, mueve directamente el archivo con el nombre que le indiquemos, puede ser otro distinto al original:

$ mv /etc/pepino.html /home/tu_carpeta/ese_pepino.html

Otro uso muy práctico que se le puede dar es para renombrar un archivo. Basta con indicar el nuevo nombre en el segundo argumento con la misma ruta del primero. En este ejemplo suponemos que ya estamos en la carpeta que lo contiene:

$ mv pepino.html ese_pepino.html
* find

find: encontrar. Busca el archivo o carpeta que le indiques:

$ find / -name pepino

El comando anterior buscaría en todos los sitios las carpetas y archivos que se llamen pepino. Si tuviéramos la seguridad de que se encuentra en /var por ejemplo, se lo indicaríamos:

$ find /var -name pepino

Si no estamos muy seguros del nombre podemos indicárselo con comodines. Supongamos que el nombre de lo que buscamos contiene “pepi”, en la misma carpeta de antes:

$ find /var -name *pepi*

Tiene otras opciones. Por ejemplo podemos decirle que encuentre los archivos/carpetas de más de 1500 KB:

$ find / -size +1500

O los archivos/carpetas contienen el nombre “pepi” y tienen menos de 1000 KB:

$ find / -name *pepi* -size -1000
* clear

clear: despejar. Limpia la pantalla/consola quedándola como si acabáramos de abrirla.

$ clear
* ps

process status: estado de los procesos. Nos muestra lo que queramos saber de los procesos que están corriendo en nuestro sistema. Cada proceso está identificado con un número llamado PID. Si hacemos…

$ ps -A

…nos mostrará un listado de todos los procesos, su PID a la izquierda y su nombre a la derecha. Si queremos más información:

$ ps aux
* kill

kill: matar. Elimina el proceso que le indiquemos con su PID:

$ kill

En ocasiones el proceso no “muere” del todo, pero se le puede forzar al sistema para que lo mate con seguridad del siguiente modo:

$ kill -9
* sudo

super-user do: hacer como superusuario. La cuenta de usuario en Ubuntu es relativamente normal. Tiene derechos de administrador a medias. Me explico, los tiene, pero cada vez que se haga algo importante y de riesgo para el sistema, hay que hacerlo mediante el prefijo “sudo” y escribiendo después la contraseña.

Por ejemplo, algo que hemos hecho muchas veces en los tutoriales es hacer una copia de seguridad del fichero xorg.conf. Éste está localizado en la carpeta /etc/X11 y ahí ningún usuario puede hacer modificaciones o borrar nada si no es el administrador o tiene derechos como tal, gracias a sudo. Por eso hacíamos siempre:

$ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf

Siempre que necesitemos hacer un apt-get/aptitude update o install y acciones de este tipo, tendremos que poner antes el “sudo”.
* passwd

password: contraseña. Con este comando podremos cambiar la contraseña de nuestra cuenta. Primero nos pedirá la contraseña actual como medida de seguridad. Después nos pedirá que introduzcamos dos veces seguidas la nueva contraseña.

$ passwd
* su

super-user: superusuario. Mediante su podremos loguearnos como superusuario. Tras escribirlo nos pedirá la contraseña de root y estaremos como administrador. Podremos hacer todo lo que queramos.

$ su

Este comando también nos permite hacer login con otra cuenta distinta. Por ejemplo, imaginemos que tenemos otra cuenta, además de root y la nuestra, llamada “invitado”. Para hacer login como tal bastaría con poner:

$ su invitado

y después escribir la contraseña de esa cuenta.
* sudo passwd

No es un comando propiamente dicho, pero es interesante que lo conozcáis. Gracias a la unión de estos dos comandos podréis cambiar la contraseña de root (la del super-usuario).

$ sudo passwd
* apt

advanced packets tool: herramienta avanzada de paquetes. Es uno de los comandos más útiles que se han desarrollado en los sistemas GNU/Linux debian o basados en esta distro. Nos permite comprobar actualizaciones, actualizar todo el sistema. También nos ofrece funcionalidad para buscar, descargar e instalar paquetes con una sola orden.

Tenemos variantes, las más usadas son las siguientes:

$ apt-cache search nombre_paquete

Busca nombre_paquete para ver si existe literal o aproximadamente ofreciéndonos los paquetes que pudieran ser en caso de que hayamos puesto un nombre aproximado.

$ apt-get update

Actualiza los repositorios que son los que contienen los paquetes. Los repositorios son como las direcciones que contienen nuestros paquetes. apt-get update lo que hace es actualizar el listado de todos esos paquetes, con la dirección de dónde obtenerlos para que a la hora de hacer la búsqueda y su posterior descarga sea más rápida haciéndolo en nuestro ordenador.

$ apt-get upgrade

Actualiza nuestro sistema con todas las posibles actualizaciones que pudiera haber. La actualización no se realiza sólo sobre el propio sistema operativo, sino también sobre las aplicaciones que estén contenidas en los repositorios. Una útil forma de estar siempre al día.

$ apt-get install nombre_paquete

Localizado el nombre del paquete que queremos descargar e instalar, este comando se encargará del proceso. Buscará en nuestro índice (el que se crea con update) de dónde tiene que descargarse el paquete, lo hace y posteriormente lo instala.

$ apt-get remove [--purge] nombre_paquete

Elimina el paquete especificado del sistema. Damite el argumento “–purge” (corchetes = opcional) para que borre también los ficheros de configuración.

$ apt-get autoremove

Elimina paquetes que han quedado inservibles tras realizar algún apt-get remove, los llamados huérfanos. Normalmente tras hacer este último te avisa en un mensaje que lo realices.

Todos estos comandos necesitan tener privilegios de administración, así que si no los usáis como root, debéis agregar primero el conocido “sudo”.
* aptitude

aptitude: aptitud, habilidad. En el fondo juega con las siglas de apt para crear aptitude. Es una versión mejorada de apt. Si os habéis fijado en todos los manuales y entradas donde había un proceso de instalación he usado aptitude en lugar de apt. El segundo es quizá el más extendido al ser el que vio la luz primero.

aptitude nació como un front-end de apt, es decir, como una especie de aplicación gráfica y en modo texto para realizar todo lo que hace apt. Pero lo cierto es que sus características son mejores.

apt cuando instala algo te puede realizar una sugerencia para que instales algo más que te podría venir bien, pero no lo hace. Hay programas que a la vez usan otros para algunas de sus funciones u opciones. apt no instalaría los segundos, como mucho te avisaría. Sin embargo aptitude sí que lo instalará porque sabe que de alguna forma es indispensable para el que has pedido.

De la misma forma, si con apt instalas luego ese programa que es usado por otro, cuando desinstalas el principal, no se desinstalará el secundario, aunque éste ya no tenga mucho sentido que esté instalado, y lo mismo sucede con librerías. aptitude está capacitado para desinstalar lo que él mismo ha instalado como recomendación. Te deja el sistema más limpio tras las desinstalaciones.

Para abrir el interfaz gráfico de aptitude, tan sólo hay que teclearlo:

$ aptitude

Sin embargo, también se puede usar exactamente igual que apt, pero con las características que he comentado de aptitude:

$ aptitude search nombre_paquete
$ aptitude install nombre_paquete
$ aptitude remove nombre_paquete
$ aptitude purge nombre_paquete
$ aptitude update
$ aptitude upgrade

Y al igual que antes, necesitaréis usarlo con el sudo delante si no estáis como administrador.
* dpkg

depackage: despaquetar. Los paquetes cuando se instalan sufren un proceso de despaquetaje. En el fondo un paquete .deb contiene una serie de scripts de pre-instalación, post-instalación y los archivos en cuestión del paquete.

Este comando lo usaremos para instalar un paquete .deb que ya tengamos descargados en nuestro sistema. En muchas ocasiones hay una aplicación que no está en los repositorios y nos hemos bajado el .deb para instalarlo con el interfaz gráfico que corresponda (GDebi en el caso de GNOME).

En el fondo estas interfaces gráficas están basadas en dpkg. Si queremos instalar un paquete ya descargado mediante consola usaremos el argumento ‘-i’ (i=install):

$ dpkg -i nombre_paquete

Para desinstalarlo ‘-r’ (r=remove):

$ dpkg -r nombre_paquete

Para desinstalar el paquete y los ficheros de configuración “–purge” (purgar):

$ dpkg -r –purge nombre_paquete
* alien

A petición de lector.

Alien: de otro país, de otro planeta. Aunque Debian -y por extensión Ubuntu- dispone de una ingente cantidad de paquetes en sus repositorios, puede que alguien tenga algún problema en encontrar una aplicación específica empaquetada como le interesa aunque ha visto el paquete que quiere para otras distros.

alien es bastante práctico para estas situaciones ya que nos permite transformar un paquete de un gestor de paquetes determinado en otro. Por ejemplo podemos pasar de un .deb (Debian) a un .rpm (Red Hat) y viceversa. Las extensiones soportadas son:

* deb (Debian)
* rpm (Red Hat)
* slm (Stampede)
* tgz (Slackware)
* pkg (Solaris)

Su uso es sencillo. Lo que debemos saber es el argumento que transformará el paquete original en la extensión objetivo:

* “–to-deb” o “-d” para transformar a .deb
* “–to-rpm” o “-r” para transformar a .rpm
* “–to-tgz” o “-t” para transformar a .tgz
* “–to-pkg” o “-p” para transformar a .pkg
* “–to-slp” para transformar a .slp

Como ejemplo, pasaremos un supuesto paquete de Red Hat llamado “pepino.rpm” a “pepino.deb”:
$ alien -d pepino.rpm
* man

manual: manual. Es otro de los comandos de gran potencia en linux. Normalmente queda programa o comando viene con un archivo de ayuda muy completo sobre su uso y sus argumentos. Cuando desconozcáis cómo se usa y qué argumentos tiene un comando o aplicación tan sólo tenéis que escribir en consola:

$ man nombre

En ocasiones la información que nos ofrece man puede llegar a ser excesiva. Casi todos los comandos y aplicaicones aceptan el argumento “–help” para que muestre cierta ayuda más resumida. Por ejemplo con aptitude:

$ aptitude –help

Todos los comandos que os he mostrado tienen muchos más argumentos. Os he puesto los más usados o necesarios, así que si hay alguno que os interesa particularmente conocer más de él, tenéis “man” o “–help” para obtener más detalles.


Leer más...

Ossim AlienVault


AlienVault OSSIM es una solución completa para la gestión de la seguridad que incluye un número de funciones que permiten detectar y caracterizar un ataque, así como un sistema completo de gestión inteligente de la seguridad.
consiste en una consola de seguridad central, que nos permite gestionar y saber el nivel de seguridad (métrica) que tiene nuestra empresa. Se trata de un proyecto Open Source, con lo que todo el mundo puede disfrutar de él sin ningún coste, además de poder colaborar en su código para formar parte de su evolución.



Componentes

  • Ossim características de los componentes de software:

* Arpwatch, used for mac anomaly detection. Arpwatch, utilizado para la detección de anomalías mac.

* P0f, used for passive OS detection and os change analisys. P0f, utilizado para la detección pasiva del sistema operativo y Análisis cambio os.

* Pads, used for service anomaly detection. Pads, utilizados para el servicio de detección de anomalías.

* Nessus, used for vulnerability assessment and for cross correlation (IDS vs Security Scanner). Nessus, utilizados para la evaluación de la vulnerabilidad y de correlación cruzada (IDS vs Security Scanner).

* Snort, the IDS, also used for cross correlation with nessus. Snort, el IDS, también se utiliza para la correlación cruzada con nessus.

* Spade, the statistical packet anomaly detection engine. Spade, el paquete de estadística de detección de anomalías del motor. Used to gain knowledge about attacks without signature. Se utiliza para obtener conocimiento acerca de los ataques sin firma.

* Tcptrack, used for session data information which can grant useful information for attack correlation. Tcptrack, utilizado para la información de datos de sesión que pueden dar información útil para la correlación de ataque.

* Ntop, which builds an impressive network information database from which we can get aberrant behaviour anomaly detection. Ntop, que construye una impresionante base de datos de información de la red de la que podemos obtener aberrante de detección de anomalías de comportamiento.

* Nagios. Nagios. Being fed from the host asset database it monitors host and service availability information. Se alimenta de la base de datos de activos de acogida que los monitores de acogida e información de disponibilidad del servicio.

* Osiris, a great HIDS. Osiris, una gran HIDS.

* OCS-NG, Cross-Platform inventory solution. OCS-NG, Cross-solución de inventario de la plataforma.

* OSSEC, integrity, rootkit, registry detection and more. OSSEC, la integridad, rootkit, detección de registro y más.





A esto se añade un grupo de auto desarrollado herramientas, la más importante de ser un motor de correlación de genéricos con el apoyo de la Directiva lógico. Finalmente tomamos cualquier otro dispositivo que pueda tener en su red que podría contener información útil que, cuando se alimenta al sistema, podría permitir una mejor Entendiendo de lo que está pasando en su red.


Perfiles

Usually a typical ossim deployment consists of: Normalmente, un despliegue OSSIM típico consiste en:
  • A database host. Una serie de bases de datos.
  • A server which hosts the correlation, qualification and risk assesment engine. Un servidor que aloja la correlación, la cualificación y el motor de evaluación de riesgos.
  • N agent hosts which do information collection tasks from a number of devices. Anfitriones agente N que hacer tareas de recolección de información de un número de dispositivos. For a list of plugins please refer to: http://www.alienvault.com/community.php?section=Plugins Para obtener una lista de plugins, por favor vaya a: http://www.alienvault.com/community.php?section=Plugins
  • A control daemon which does some maintenance work and ties some parts together. Un demonio de control que hace algún trabajo de mantenimiento y los lazos algunas partes juntos. It's called frameworkd. Se llama frameworkd.
  • The frontend is web based, unifying all the gathered information and providing the ability to control each of the components. La interfaz está basada en web que unifica toda la información recopilada y proporcionando la capacidad de controlar cada uno de los componentes.




Leer más...

Utilidades para instalar despues de montar Ubuntu 9.04





Aqui dejo una gran variedad e interesantes aplicasiones y utilidades, que podemos ejecutar despues de acabar la instalacion de Ubuntu 9.04. Recuerden linux for the future



CAMBIAR EL ASPECTO

Si el aspecto marron que por defecto trae Ubuntu no te agrada demasiado, podemos cambiar rapidamente el tema utilizado Desde la opcion del panel: Sistema > Preferencias > Apariencia. Por defecto Ubuntu trae algunos temas como Dust, Wave o Sand que presentan un mejor acabado. Haz click sobre uno de ellas y el aspecto de las ventanas y controles cambiara de manera automatica.
Puedes cambiar tambien el fondo de pantalla para usar cualquier imagen que tengas guardada en tu disco duro,
haciendo click derecho sobre el escritorio y seleccionando la opcion “Cambiar el fondo de escritorio” desde
el menu emergente.

Puedes encontrar muchos mas temas para instalar desde sitios web como KDE-Look o Gnome-Look.

Puedes encontrar una guia de personalizacion del escritorio en el siguiente enlace.


INSTALAR UBUNTU TWEAK

Ubuntu Tweak es una aplicacion que nos permite controlar muchos aspectos de nuestro sistema, asi como
instalar nuevas aplicaciones de terceros.
Para instalarlo. Editamos el fichero /etc/apt/sources.list (como usuario root) y añadimos las lineas:

deb http://ppa.launchpad.net/tualatrix/ubuntu jaunty main
deb-src http://ppa.launchpad.net/tualatrix/ubuntu jaunty main

Guardamos y actualizamos la lista de repositorios:

$ sudo apt-get update

E instalamos con:

$ sudo apt-get install ubuntu-tweak



INSTALAR ADOBE ACROREAD

Para leer documentos PDF si no te gusta el visor por defecto.

sudo apt-get install acroread


SOPORTE DE FORMATOS COMPRIMIDOS

Si queremos poder comprimir o descomprimir de los formatos mas populares (rar, zip, gz, ace, etc):

sudo aptitude install rar p7zip-full unace unzip file-roller

Y para poder comprimir/descomprimir de manera sencilla desde consola:

sudo aptitude install atool



INSTALAR COMPIZ Y ACTIVAR EFECTOS 3D

Para instalar Compiz (y poder disponer de efectos 3D en nuestro escritorio) ejecutaremos:

sudo aptitude install compizconfig-settings-manager emerald

Ahora podremos activar algunos efectos desde Sistemas > Preferencias > Apariencia > Efectos Visuales

Es recomendable tambien instalar fusion-icon para poder configurar todas estas funciones desde un
icono en el panel:

sudo aptitude install fusion-icon

Si Emerald no carga correctamente (el decorador de ventanas) ejecuta el siguiente comando:

/usr/bin/emerald --replace

Si tienes problemas con las 3D tal vez tu tarjeta de video no soporte aceleracion. Echale un vistazo a Activar Cube Reflection and Deformation, donde comento mejor este tema.



INSTALAR OPERA

Si no te agrada Firefox, podemos instalar otros navegadores alternativos:
Por ejemplo para instalar Opera.

Obtenemos la clave publica:

wget -O - http://deb.opera.com/archive.key | sudo apt-key add -

Añadimos el repositorio:

echo "deb http://deb.opera.com/opera etch non-free" | sudo tee -a /etc/apt/sources.list.d/opera.list && sudo apt-get update

E instalamos con:

sudo apt-get install opera



INSTALAR SOPORTE PARA APLICACIONES JAVA


Si no tienes el JRE (Java Runtime Environment) instalado en tu maquina y necesitas ejecutar alguna aplicacion basada en Java necesitaras instalarlo previamente o no podras lanzar esas aplicaciones. Puedes instalar JRE con:

sudo aptitude install sun-java6-fonts sun-java6-jre sun-java6-plugin

A partir de ahora podras lanzar aplicaciones java, o aplicaciones .jar de la forma:

$ java -jar aplicacion.jar



INSTALAR ECLIPSE O NETBEANS


Yo como desarrollador de JAVA suelo instalarme los dos mejores IDES (entornos de programacion) para desarrollo:

aptitude install eclipse
aptitude install netbeans



INSTALAR MENSAJERIA INSTANTANEA


Por defecto Ubuntu trae Pidgin, que nos permite conectar a cuentas de Gtalk, Msn, etc.
Pero existen otros clientes de mensajeria instantanea.

¿Tienes amigos con los que quieres hablar mediante el Messenger?. Podras seguir conversando con ellos
si instalas este cliente de mensajeria:

$ sudo apt-get install amsn

Si usas skype y has activado los repositorios medibuntu, puedes instalarlo con:

$ sudo aptitude skype



ACTIVAR CONTROL+ALT+BACKSPACE

Por defecto Ubuntu 9.04 deshabilita la combinacion de teclas Control+Alt+BackSpace para reiniciar la sesion.
Si deseas activarlas de nuevo, instala dontzap con:

aptitude install dontzap

Y despues desde consola ejecuta:

sudo dontzap -d , para habilitar la combinacion de teclas o
sudo dontzap -e , para deshabilitar la combinacion de teclas.

Leer más...