viernes, 14 de octubre de 2011

Comando Find


Sintaxis find

find [ruta...] [expresión]


Este comando nos es útil cuando queremos hacer la busqueda especifica del un archivo sea este por su nombre tamaño o su ultima modifcacion, es importante ejecutar este comando con una opcion especifica ya que si no le enviamos  parámetros al "find" no seria de mucha utilidad de manera que el primer parametro que deberíamos pasarle, debe ser la ruta donde se ejecutará la busqueda, y el segundo parametro, el nombre del archivo que queremos buscar.



Encuentra un tipo de archivo

find /home/jorge/Vídeos/ -name "*.flv"

de esta manera estamos buscando todos los archivos que esten dentro de la carpeta de videos con la extencion de flv


Encuentra un archivo especifico

find /home/jorge/Vídeos/ -name "gestion\ de\ proyectos.flv

de esta manera estamos buscando dentro de la carpeta especificada el archivo con el nombre y su extensión




Comando locate


El comando "locate"es un comando destinado para la búsqueda de archivos dentro del sistema, este es  bastante parecido al comando "find", pero la gran diferencia que tiene con el comando "locate" es que la búsqueda se hace en una base de datos indexada del sistema la que nos permite  aumentar significativamente la velocidad de respuesta en la búsqueda que hacemos:

busquemos el el archivo resolv.conf el que tiene todas las direcciones de los servidores de dominio que nos ayuda a tener una mejor respuesta cuando hacemos búsquedas en Internet


De esta manera podemos ubicar un archivo que hayamos perdido su ubicación o simplemente queramos saber su ubicación en el sistema.

jueves, 7 de julio de 2011

FIREWALL DE LINUX

Consideraciones importantes al configurar un firewall de Linux

Tengamos presente que un firewall su funcion principal es la de evitar el acceso directo sin autorización, Los Kernel actuales de Linux incorporan este soporte a firewalls mediante el filtrado de paquetes NETFILTER(IPtables), para la implementacion de un firewall se deben de indicar las reglas por las que regiran el acceso al sistema.

En el caso de los sistemas linux poseemos las herramientas de ssh (Secure Shell) para codificar cualquier transmisión de información evitando ser asi leídas por cualquiera en la red.
Mas adelante dedicare un post exclusivo para explicar el funcionamiento de esta herramienta tan útil
en linux.

Para proteger su sistema de red es importante tener una buena configuración del firewall por lo que a continuación les explicare espero les sirva de mucha ayuda.

el software mas comun que se suele usar en Linux es el Squid, este es el encargado de hacer cumplir por asi decirlo las reglas que se establecen para el acceso de la información, todas las reglas se almacenan en las llamadas tablas de aqui precede el nombre de iptables que es el comando empleado para acceder a la declaración de las reglas de acceso que se desean aplicar.

Iptables
Es conocido para ejecutar el filtrado de los paquetes NAT y el que implementa las tareas de filtrado, En las llamadas tablas es en donde se almacenan los comandos para la aplicacion de estas.
Las llamadas tablas de filtrado usan las reglas de PREROUTING INPUT OUTPUT FOREWARD Y POSTROUTING

Destinos de los IPtables 

ACCEPT Permite el paso al paquete atraves del firewall
DROP Niega el acceso al paquete
REJECT Niega el acceso y notifica al emisor
QUEUE Envia los paquetes al espacio del usuario
RETURN Va hasta el final de la cadena y permite que el destino predeterminado lo procese.


Opciones del IPtables
El paquete de iptables esta disenado para ser extencible y es posible incluir en el opciones con criterios de seleccion.

Por ejemplo:
iptables -a 
Es el comando para agregar una nueva regla
iptables -d 
Es el comando para eliminar una regla
iptables -r 
Es el comando para reemplazar una regla

Cadenas integradas para el netfilter
INPUT REGLAS PARA PAQUETES ENTRANTES
OUTPUT REGLAS PARA PAQUETES SALIENTES
FORWARD REGLAS PARA PAQUETES REENVIADOS
PREROUTING REGLAS PARA REDIRIGIR O MODIFICAR PAQUETES ENTRANTES
POSTROUTING REGLAS PARA REDIRIGIR O MODIFICAR PAQUETES SALIENTES

con el comando iptables -L -n  
podemos observar las cadenas con las reglas definidas
despues del comando se muestra una lista del cadena a la que aplica la regla, COMO INPUT OUTPUT O FORWARD, o una definida por el usuario, después despliega una lista con las opciones especificando las acciones que lleva acabo.

USO DEL DROP Y DEL ACCEPT
Existen dos destinos integrados

iptables -A INPUT -s 192.168.1.3 -j DROP

de esta manera estamos aceptando todos los paquetes que provengan de la dirección 192.168.1.3


iptables -A INPUT -j ACCEPT ! -s 192.168.1.3

de esta manera estamos rechazando todos los paquetes que provengan de la dirección 192.168.1.3



lunes, 20 de junio de 2011

Estructura de archivos de Linux


La estructura de archivos de Linux

/ Directorio raíz, mantiene la estructura de archivos del sistema.
/bin Binarios de comandos esenciales .
/boot Archivos estáticos de cargador de arranque (boot-loader) .
/dev Almacena interfaces de archivos para varios dispositivos .
/etc Almacena archivos de configuración del sistema.
/home Directorio de los usuarios.
/lib Librerías compartidas.
/lost+found Directorio para almacenar archivos a recuperar.
/mnt Punto de montaje para particiones temporales.
/opt Para coloca software que no fue incluida en el sistema operativo.
/root Raíz principal directorio home del usuario root.
/sbin Binarios esenciales del sistema.
/tmp Archivos temporales.
/usr Almacena archivos y comando sutilizados por el sistema.
/var Almacena archivos variables como los del buzón de correo.

(/) : Directorio Raíz
La barra es el directorio raíz, el principio del sistema de archivos. Sólo existe un directorio root y todos los archivos descienden o están colgando de el. Este directorio contiene todos los archivos y programas necesarios.

(/bin): Directorio de los Binarios
El /bin contiene comandos que pueden ser utilizados por los usuarios y el administrador del sistema, puede también contener comandos que son utilizados indirectamente por algunos scripts.


/boot: Archivos estáticos del cargador de arranque (boot loader)
Este directorio contiene todo para arrancar excepto los archivos de configuración. El /boot es el lugar donde debe colocar todo lo que debe utilizar antes de que el kernel ejecute /sbin/init. Esto incluye sectores maestros de arranque (master boot sectors) guardados, archivos de mapeo de sectores y cualquier otra cosa que no es editada directamente a mano. Los programas necesarios para arreglar que el cargador de arranque sea capaz de arrancar un archivo (tal como el instalador de mapas [lilo, grub] ) estarán localizados en /sbin.


/dev: Archivos de dispositivos
Este es el directorio de los dispositivos. Contendría un archivo por cada dispositivo que el kernel de Linux pueda soportar.


/etc : Configuración del Sistema Local a la Máquina
El directorio /etc contiene archivos y directorios que son locales al sistema actual. Ningún binario debe estar directamente dentro de /etc. Los binarios que en el pasado se encontraban en /etc, están en /sbin 0 /usr/sbin. Esto incluye archivos tales como init, getty y update. Los binarios tales como hostname que son utilizados por usuarios ordinarios y por root no irían en /sbin sino en /bin.


/home: Directorios Hogar de los Usuarios
El home es el directorio de archivos de los usuarios del sistema en este se almacenan los documentos, musica, fotos, etc. Toda la información del usuario. Se recomienda que en la instalación del sistema se deje un espacio considerable para esta sección ya que en este directorio se presentara el mayor crecimiento de información.


/lib: Librerías Compartidas y Módulos Esenciales del Kernel
El directorio /lib contiene aquellas imágenes de las librerías compartidas que se necesitan para arrancar el sistema y ejecutar los comandos en el sistema de archivos raíz.


/lost+found
Es el directorio donde se almacenan los archivos que estaban en uso o ejecución cuando sucedió algún tipo de anomalía para que el sistema se deba reiniciar abruptamente de esta manera permitirá al usuario una recuperación de los archivos a su estado anterior para evitar la corrupción de estos y fallas en el sistema


/mnt y /media: Punto de Montaje para Sistemas de Archivos Montados Temporalmente
Estos directorios se proveen para que el administrador pueda montar temporalmente sistemas de archivos cuando lo necesite. En esta partición por llamarla así se almacenan los dispositivos que se agregan al equipo estos pueden ser físicos o pueden ser imágenes pertenecientes a un directorio se los puede configurar por ejemplo como .iso de algún juego o aplicación especifica.


/opt: Para coloca software que no fue incluida en el sistema operativo.
Es usado para programas que no venían predefinidas en la distribución original del sistema operativo instalado. Varia la existencia de este cuando se esta empleando distribuciones como rpm y las que usan escritorios kde.


/proc: Sistema de Archivos Virtual de Información de Procesos y del Kernel
El sistema de archivos proc almacena la información de los procesos y del sistema en vez de /dev/kmem y otros métodos similares. Se recomienda para almacenamiento y obtención de información de procesos así como otra información del kernel y de memoria.


/root: Directorio hogar de root (opcional)
El directorio hogar de la cuenta de el usuario root puede ser determinada por el desarrollador o por preferencias locales.


/sbin: Binarios del Sistema (Alguna vez mantenidos en /etc)
Los útiles usados por la administración del sistema típicamente contiene binarios esenciales para arrancar el sistema además de los binarios en /bin.


/tmp: Archivos temporales
El directorio tmp se utiliza para archivos temporales, preferentemente en un /dispositivo rápido. /tmp puede ser limpiada en cada arranque o a intervalos relativamente frecuentes. Por tanto, no se debe esperar que la información almacenada en /tmp permanezca por algún periodo largo de tiempo.


/usr Almacena archivos y comando sutilizados por el sistema.
El usr es la segunda mayor seccion del sistema de archivos. /usr es /información compartible, de sólo- lectura, esto significa que /usr, debe ser /compartible entre varias máquinas que corren Linux y no se debe /escribir. Cualquier información que es local a una máquina o varía con el /tiempo, se almacena en otro lugar.


/var almacena archivos variables como los del buzón de correo.
El var contiene archivos con información variable. Esto incluye archivos y /directorios en fila de ejecución, información de bitácora administrativa y /archivos temporales y transitorios.

El sistema de archivos descrito anteriormente es el mas común que existe en las diferentes distribuciones de Linux.

domingo, 19 de junio de 2011

Que es la shell de Linux

La Shell de linux se comprende como un interprete de comandos cuyo trabajo se orienta a un trabajo en linea directa con el núcleo del sistema la shell se la puede entender como un  programa en continua
ejecución que analiza la línea y llama a ejecución al programa o programas y que realiza la función solicitada por la orden. Puede enviar a la shell uno o mas comandos a ejecución separandolos por un (;).

la facilidad que nos presenta la shell es una completa administración del sistema operativo en la cual podemos ver estados de los procesos que se están ejecutando así como la administración y manipulación de archivos del sistema.

La facilidad que nos presta la shell es ver la secuencia de comandos que se han ejecutado desde el momento que se instalo el sistema operativo estos comandos se almacenan en un archivo llamado "history"  este archivo se ubica en el root del sistema y se encuentra con el nombre /.bash_history este archivo nos permite llevar una especie de log de administración del sistema operativo revisando los comandos que se han ejecutado.

Una de las ventajas que nos presenta la shell de Linux es q nos permite administrar la prioridad de los proceso y poner los secundarios en segundo plano. Para poner un proceso en ejecución en segundo plano basta con poner un & después del comando por ejemplo enviamos la edición de un archivo a segundo plano.

con el comando jobs podemos ver los procesos que se encuentran en espera de ser ejecutados para ejecutarlos ponemos el comando fg % (numero del proceso que se encuentra en segundo plano)
y para ponerlo en segundo plano se usa también bg ejemplo


Para suspender un trabajo con crtl +z y regresar a la linea de comandos

Para terminar con un proceso utilizamos el comando kill

Con el comando ps observamos el PID de los procesos en ejecución de esta manera ponemos  kill (PID)
ejemplo
Para ver las opciones de un comando ponemos en la linea del shell man (comando) ejemplo man(kill) y podemos ver las opciones de este comando.


Mas información encontraremos en 

miércoles, 15 de junio de 2011

Unix

Fue un proyecto lanzado a inicios del 1960 y finales de los 70 estaba a cargo de los laboratorios de AT&T dirigido por Ken Thompson y Dennis Ritchie basándose en su proyecto anterior llamado MULTICS, juntos se reunieron para volver a escribir para realizarlo en lenguaje C pronto Unix dejo de ser desarrollado por un un grupo pequeño de especialistas en sistemas operativos a pasar a ser un proyecto mas importante que podía ser comercializado entre los cuales estaba Novell e IBM. En sus inicios Unix fue considerado como un proyecto de investigación el cual se empezó a distribuir gratuitamente entre las Universidades y desde este medio se empezó a desarrollar como un proyecto independiente en el caso de la Universidad De Berkeley fue quien mas avances realizo en el sistema Unix llegando a considerar como su versión un estándar para las demás Universidades esto surgió alrededor de 1975 a esta se la conoció como BSD. A finales de la década de los 70 BSD se volvió  como base del proyecto de investigación de la DARPA que es el departamento de defensa de los Estados Unidos. como resultado de esta investigación en 1983 la Universidad de Berkeley publico una versión con características importantes como interconexión  basadas en protocolos de red (los pioneros en los protocolos que hoy se usan en internet).

Escuchemos de las mismas personas la importancia de este Sistema Operativo

Observemos como era este sistema en sus inicios y notemos la misma estructura que se mantiene genial!!!!


martes, 14 de junio de 2011

Sistemas Operativos y Linux

Como sabemos los sistemas operativos desde sus inicios fueron diseñados para realizar tareas repetitivas, centradas en la administración de archivos, ejecución de programas y recepción de comandos por los usuarios.
Linux como todas las versiones de Unix es multiusuario y multitarea esto significa que el sistema puede realizar varias tareas al mismo tiempo.

Linux al ser una versión de Unix modificada tiene la misma flexibilidad del sistema la que fue desarrollada por Ken Thompson en AT&T BELL LABORATORIES a finales de la década de 1960 y principios de los 70 de esta forma Unix se lo reconocio como un sistema operativo para investigadores lo cual persiste hasta hoy en día sigue siendo el mismo concepto, de esta manera Linux esta orientado a soportar varios usuarios y varias tareas de ellos lo que lo convierte en una potente herramienta de trabajo y se convierte en un entorno integramente operativo.