martes, 12 de diciembre de 2017

Importar datos de excel a mysql


Para importar una tabla de datos de Excel a MySQL se deberá empezar por guardar el archivo de Excel como tipo: Hoja de cálculo de OpenDocument (*.ods).

Luego se tendrá que crear la base de datos en MySQL. Una vez creada la base de datos se la selecciona y se da clic en importar.


Posteriormente se hace clic en botón de escoger archivo, se escoge el archivo y en formato seleccionar la opción OpenDocument.
Antes de finalizar habilitar la opción de la primera lína del archivo contiene los nombres de columna de la tabla.



Y finalmente dar clic en continuar. Estará importada la tabla correctamente.


jueves, 13 de julio de 2017

43. Algoritmo de encriptación asimétrica

Los algoritmos asimétricos utilizan fórmulas que cualquier persona puede buscar. El par de claves no relacionadas es lo que hace que estos algoritmos sean seguros. Los algoritmos asimétricos incluyen los siguientes:
RSA (Rivest-Shamir-Adleman): utiliza el producto de dos números primos muy grandes con una longitud igual de entre 100 y 200 dígitos. Los navegadores utilizan RSA para establecer una conexión segura.
Diffie-Hellman: proporciona un método de intercambio electrónico para compartir la clave secreta. Los protocolos seguros, como Secure Sockets Layer (SSL), Transport Layer Security (TLS), Shell seguro (SSH) y Protocolo de seguridad de Internet (IPsec), utilizan Diffie-Hellman.
ElGamal: utiliza el estándar del gobierno de EE. UU. para las firmas digitales. Este algoritmo es gratuito ya que nadie posee la patente.
Criptografía de curva elíptica (ECC): usa curvas elípticas como parte del algoritmo. En EE. UU., la Agencia de Seguridad Nacional utiliza la ECC para la generación de firma digital y el intercambio de claves.

miércoles, 12 de julio de 2017

42. Ataque man-in-the-middle


Un delincuente realiza un ataque man-in-the-middle (MitM) al interceptar las comunicaciones entre las computadoras para robar la información que transita por la red. El delincuente también puede elegir manipular los mensajes y retransmitir información falsa entre los hosts ya que estos desconocen que se produjo una modificación en los mensajes. El ataque MitM permite que el delincuente tome el control de un dispositivo sin el conocimiento del usuario.

Man-In-The-Mobile (MitMo) es una variación de man-in-middle. MitMo toma el control de un dispositivo móvil. El dispositivo móvil infectado envía información confidencial del usuario a los atacantes. ZeuS, un ejemplo de ataque con capacidades de MitMo, permite que los atacantes capturen silenciosamente SMS de verificación de 2 pasos enviados a los usuarios. El malware espía en este tipo de comunicación y transmite la información a los delincuentes.











41. Falsificación de identidad (spoofing)

La falsificación de identidad es un ataque que aprovecha una relación de confianza entre dos sistemas. Si dos sistemas aceptan la autenticación lograda por cada uno, es posible que una persona registrada en un sistema no pase nuevamente por un proceso de autenticación para acceder al otro sistema. Un atacante puede aprovechar esta disposición al enviar un paquete a un sistema que parece provenir de un sistema confiable. Dado que la relación de confianza existe, el sistema objetivo puede realizar la tarea solicitada sin autenticación.

Existen varios tipos de ataques de suplantación de identidad.
  • La falsificación de direcciones MAC se produce cuando una computadora acepta los paquetes de datos según la dirección MAC de otra computadora.
  • La falsificación de direcciones IP envía paquetes IP de una dirección de origen falsificada para disfrazarse.
  • El Protocolo de resolución de dirección (ARP) es un protocolo que corrige las direcciones IP a direcciones MAC para transmitir datos. La suplantación de ARP envía mensajes ARP falsos a través de la LAN para conectar la dirección MAC del delincuente a la dirección IP de un miembro autorizado de la red.
  • El Sistema de nombres de dominio (DNS) asigna nombres de dominios en direcciones IP. La suplantación de identidad de servidor DNS modifica el servidor DNS para redirigir un nombre de dominio específico a una dirección IP diferente, controlada por el delincuente.

Referencia

Cybersecurity Essentials - CISCO

40. Ataques a navegadores web y emails

Spam

El correo electrónico es un servicio universal utilizado por miles de millones de personas en todo el mundo. Como uno de los servicios más populares, el correo electrónico se ha convertido en una vulnerabilidad importante para usuarios y organizaciones. El correo no deseado, también conocido como “correo basura”, es correo electrónico no solicitado. En la mayoría de los casos, el correo no deseado es un método publicitario. Sin embargo, el correo no deseado se puede utilizar para enviar enlaces nocivos, malware o contenido engañoso. El objetivo final es obtener información confidencial, como información de un número de seguro social o de una cuenta bancaria. La mayor parte del correo no deseado proviene de varias computadoras en redes infectadas por un virus o gusano. Estas computadoras comprometidas envían la mayor cantidad posible de correo electrónico masivo.

 Algunos de los indicadores más comunes de correo no deseado son los siguientes:
  • El correo electrónico no tiene asunto.
  • El correo electrónico solicita la actualización de una cuenta.
  • El texto del correo electrónico tiene palabras mal escritas o puntuación extraña.
  • Los enlaces del correo electrónico son largos o crípticos.
  • Un correo electrónico se parece a una correspondencia de una empresa legítima.
  • El correo electrónico solicita que el usuario abra un archivo adjunto.
Si un usuario recibe un correo electrónico que contiene uno o más de estos indicadores, este no debe abrir el correo electrónico ni los archivos adjuntos. Es muy común que la política de correo electrónico de una organización requiera que un usuario que recibe este tipo de correo electrónico lo informe al personal de seguridad cibernética. Casi todos los proveedores de correo electrónico filtran el correo electrónico no deseado.

Spyware

El spyware es un software que permite a un delincuente obtener información sobre las actividades informáticas de un usuario. El spyware incluye a menudo rastreadores de actividades, recopilación de pulsaciones de teclas y captura de datos. En el intento por superar las medidas de seguridad, el spyware a menudo modifica las configuraciones de seguridad. El spyware con frecuencia se agrupa con el software legítimo o con troyanos. Muchos sitios web de shareware están llenos de spyware.

Adware

El adware muestra generalmente los elementos emergentes molestos para generar ingresos para sus autores. El malware puede analizar los intereses del usuario al realizar el seguimiento de los sitios web visitados. Luego puede enviar la publicidad emergente en relación con esos sitios. Algunas versiones de software instalan automáticamente el adware. Algunos adwares solo envían anuncios, pero también es común que el adware incluya spyware.

Scareware

El scareware convence al usuario a realizar acciones específicas según el temor. El scareware falsifica ventanas emergentes que se asemejan a las ventanas de diálogo del sistema operativo. Estas ventanas transportan los mensajes falsificados que exponen que el sistema está en riesgo o necesita la ejecución de un programa específico para volver al funcionamiento normal. En realidad, no existen problemas y si el usuario acepta y permite que el programa mencionado se ejecute, el malware infectará su sistema.


lunes, 10 de julio de 2017

39. Suplantación de identidad Vishing, Smishing, Pharming y Whaling


El «Vishing» es una práctica de suplantación de identidad mediante el uso de la tecnología de comunicación de voz. Los delincuentes pueden realizar llamadas de suplantación de fuentes legítimas mediante la tecnología de voz sobre IP (VoIP). Las víctimas también pueden recibir un mensaje grabado que parezca legítimo. Los delincuentes desean obtener los números de tarjetas de crédito u otra información para robar la identidad de la víctima. El «Vishing» aprovecha el hecho de que las personas dependen de la red telefónica.
El «Smishing» (suplantación del servicio de mensajes cortos) es una suplantación de identidad mediante la mensajería de texto en los teléfonos móviles. Los delincuentes se hacen pasar por una fuente legítima en un intento por ganar la confianza de la víctima. Por ejemplo, un ataque de «smishing» puede enviar a la víctima un enlace de sitio web. Cuando la víctima visita el sitio web, el malware se instala en el teléfono móvil.
El «Pharming» es la suplantación de un sitio web legítimo en un esfuerzo por engañar a los usuarios al ingresar sus credenciales. El «Pharming» dirige erróneamente a los usuarios a un sitio web falsas que parece ser oficial. Las víctimas luego ingresan su información personal pensando que se conectaron a un sitio legítimo.
El «Whaling» es un ataque de suplantación de identidad que apunta a objetivos de alto nivel dentro de una organización, como ejecutivos sénior. Los objetivos adicionales incluyen políticos o celebridades.

Referencia

Cybersecurity Essentials - CISCO

jueves, 6 de julio de 2017

38. Dominios de la ciberseguridad ISO/IEC 27000

La norma ISO/IEC 27000 es un estándar de seguridad informática publicada en 2005 y revisada en 2013. ISO publica los estándares ISO 27000. Si bien los estándares no son obligatorios, la mayoría de los países los utilizan como marco trabajo de facto para implementar la seguridad informática.

Los estándares ISO 27000 describen la implementación de un sistema de administración de seguridad de la información (ISMS) completo. Un ISMS incluye todos los controles administrativos, técnicos y operativos para mantener la información segura dentro de una organización. Doce dominios independientes representan los componentes del estándar ISO 27000. Estos doce dominios sirven para organizar, en un nivel alto, las vastas áreas de información bajo el término general de seguridad informática.

La estructura del modelo de ciberseguridad de ISO es diferente del modelo de OSI ya que utiliza dominios en lugar de capas para describir las categorías de seguridad. El motivo es que el modelo de ciberseguridad de ISO no es una relación jerárquica. Es un modelo de pares en el que cada dominio tiene una relación directa con los otros dominios. El modelo de ciberseguridad de ISO 27000 es muy similar al modelo de OSI en que es fundamental que los profesionales en ciberseguridad comprendan ambos modelos para tener éxito.

Los doce dominios sirven como base común para desarrollar estándares de seguridad organizativa y prácticas eficaces de administración de seguridad. También facilitan la comunicación entre organizaciones.

12 Dominios de la ciberseguridad



Evaluación de riesgos
Este es el primer paso en el proceso de administración de riesgos. Determina el valor cuantitativo y cualitativo del riesgo relacionado con una situación específica o una amenaza reconocida.

Políticas de seguridad
Es un documento que aborda las restricciones y los comportamientos de los miembros de una organización y especifica a menudo cómo se puede acceder a los datos y quién puede acceder a determinados datos.

Organización de la seguridad informática
Es el modelo de gestión establecido por una organización para la seguridad de la información.

Administración de recursos
Es un inventario y el esquema de clasificación para los recursos de información.

Seguridad de los recursos humanos
Aborda los procedimientos de seguridad relacionados con empleados que ingresan, se desplazan y dejan una organización.

Seguridad física y medioambiental
Describe la protección de las instalaciones informáticas dentro de una organización.

Administración de operaciones y comunicación
Describe la administración de los controles de seguridad técnica en los sistemas y las redes.

Adquisición, desarrollo y mantenimiento de los sistemas informáticos
Describe la integración de la seguridad en las aplicaciones.

Control de acceso
Describe la restricción de los derechos de acceso a las redes, los sistemas, las aplicaciones, las funciones y los datos.

Administración de incidentes de seguridad informática
Describe cómo anticipar y responder a las violaciones de seguridad informática.

Administración de la continuidad empresarial
Describe la protección, el mantenimiento y la recuperación de los sistemas y procesos críticos.

Cumplimiento
Describe el proceso de garantizar el cumplimiento de las políticas, los estándares y las regulaciones de seguridad informática.

Referencia

Cybersecurity Essentials - CISCO

martes, 4 de julio de 2017

37. Certificaciones en el sector de ciberseguridad

En un mundo de amenazas a la ciberseguridad, existe una gran necesidad de contar con profesionales expertos y calificados en seguridad de la información. La industria de TI estableció estándares para que los especialistas en ciberseguridad obtengan certificaciones profesionales que proporcionan pruebas de las habilidades y el nivel de conocimiento.

CompTIA Security+

Security+ es un programa de pruebas patrocinado por CompTIA que certifica la competencia de los administradores de TI en la seguridad de la información. La prueba de Security+ abarca los principios más importantes para proteger una red y administrar el riesgo, incluidas las inquietudes relacionadas con la computación en la nube.

Hacker ético certificado por el Consejo Internacional de Consulta de Comercio Electrónico (CEH)

Esta certificación de nivel intermedio afirma que los especialistas en ciberseguridad que cuentan con esta credencial poseen las habilidades y el conocimiento para varias prácticas de hacking. Estos especialistas en ciberseguridad utilizan las mismas habilidades y técnicas que utilizan los delincuentes cibernéticos para identificar las vulnerabilidades y puntos de acceso del sistema en los sistemas.

SANS GIAC Security Essentials (GSEC)

La certificación GSEC es una buena opción como credencial de nivel básico para especialistas en ciberseguridad que pueden demostrar que comprenden la terminología y los conceptos de seguridad, y tienen las habilidades y la experiencia necesarias para puestos “prácticos” en seguridad. El programa SANS GIAC ofrece varias certificaciones adicionales en los campos de administración de la seguridad, informática forense y auditoría.

(ISC)^2 Profesional certificado en seguridad de los sistemas informáticos (CISSP)

La certificación de CISSP es una certificación neutral para proveedores para los especialistas en ciberseguridad con mucha experiencia técnica y administrativa. También está aprobada formalmente por el Departamento de Defensa (DoD) de EE. UU. y es una certificación con reconocimiento global del sector en el campo de la seguridad.

Certificación para administradores de seguridad informática (CISM) de ISACA

Los héroes cibernéticos responsables de administrar, desarrollar y supervisar los sistemas de seguridad de la información a nivel empresarial o para aquellos que desarrollan las mejores prácticas de seguridad puedan obtener la certificación CISM. Los titulares de estas credenciales poseen aptitudes avanzadas en la administración de riesgos de seguridad.

Referencia

Cybersecurity Essentials - CISCO

36. Organizaciones profesionales de seguridad en la red


CERT

El Equipo de respuesta ante emergencias informáticas (CERT) es una iniciativa financiada por el gobierno de EE. UU., desarrollada para trabajar con la comunidad de Internet en la detección y resolución de los incidentes de seguridad informática. El Centro de coordinación del CERT (CERT/CC) coordina la comunicación entre los expertos durante emergencias de seguridad para ayudar a evitar futuros incidentes. El CERT también responde a los incidentes de seguridad importantes y analiza las vulnerabilidades del producto. El CERT administra los cambios relacionados con las técnicas progresivas del intruso y la dificultad para detectar ataques y atrapar a los atacantes. También desarrolla y promueve el uso de las prácticas de administración de tecnologías y sistemas correspondientes para resistir a los ataques en los sistemas conectados en red, limitar daños y garantizar la continuidad de los servicios.

SANS

Los recursos del Instituto de administración de Sistemas, auditoría, redes y seguridad (SANS) se proporcionan de manera gratuita a pedido e incluyen el Centro de tormentas popular de Internet, el sistema de advertencia temprana de Internet; NewsBites, la publicación de noticias semanal; @RISK, la publicación semanal de vulnerabilidad; alertas flash; y más de 1200 informes de investigación originales galardonados. El SANS también desarrolla cursos de seguridad.

MITRE

The Mitre Corporation mantiene una lista de vulnerabilidades y exposiciones comunes (CVE) utilizadas por las organizaciones de seguridad destacadas.

FIRST

El Foro de respuesta ante incidentes y equipos de seguridad (FIRST) es una organización de seguridad que reúne a una variedad de equipos de respuesta ante incidentes de seguridad informática del gobierno y organizaciones comerciales y educativas para fomentar la colaboración y la coordinación en la compartición de información, la prevención de incidentes y la reacción rápida.

InfoSysSec

La Seguridad de los sistemas informáticos (InfoSysSec) es una organización de seguridad de la red que alberga un portal de noticias de seguridad y proporciona las noticias de último momento sobre alertas, ataques y vulnerabilidades.

ISC2

El Consorcio internacional de certificación de seguridad de los sistemas informáticos (ISC) 2 ofrece productos educativos y servicios profesionales neutrales para los proveedores en más de 135 países, a más de 75 000 profesionales certificados del sector. Su misión es hacer del mundo cibernético un lugar más seguro al llevar seguridad de la información al dominio público, y apoyar y desarrollar a profesionales de seguridad de la red en todo el mundo. También proporcionan certificaciones de seguridad informática entre el profesional de seguridad de los sistemas informáticos certificado (CISSP).

MULTI-STATE

El MS-ISAC es el elemento fundamental en la prevención, la protección, la respuesta y la recuperación ante amenazas cibernéticas de los gobiernos estatales, locales, tribales y territoriales (SLTT) de la nación. El centro de operaciones de seguridad cibernética MS-ISAC, que funciona las 24 horas del día, los 7 días de la semana, proporciona supervisión de redes en tiempo real, advertencias y avisos tempranos de amenazas cibernéticas, identificación de vulnerabilidades, mitigación y respuesta ante incidentes.





35. El impacto del Big Data

Los datos masivos son el resultado de los conjuntos de datos que son grandes y complejos, lo que hace que las aplicaciones tradicionales de procesamiento de datos sean inadecuadas. Los datos masivos presentan desafíos y oportunidades según tres dimensiones:

  • El volumen o la cantidad de datos
  • La velocidad de los datos
  • La variedad o el rango de los tipos y fuentes de datos

Existen muchos ejemplos de amenazas de gran envergadura en las noticias. Las empresas como Target, Home Depot y PayPal son objetos de ataques muy promocionados. Como resultado, los sistemas empresariales deben realizar cambios drásticos en los diseños de producto de seguridad y las actualizaciones importantes a las tecnologías y las prácticas. 

Además, los gobiernos y las industrias están introduciendo más regulaciones y obligaciones que requieren una mejor protección de los datos y controles de seguridad para ayudar a proteger los datos masivos.

miércoles, 28 de junio de 2017

34. Cómo frustrar a los delincuentes cibernéticos


Frustrar a los delincuentes cibernéticos es una tarea difícil y no existe algo como una fórmula mágica. Sin embargo, las empresas, el gobierno y las organizaciones internacionales han comenzado a tomar medidas coordinadas para limitar o mantener a raya a los delincuentes cibernéticos. 

Las acciones coordinadas incluyen las siguientes:


  • La creación de bases de datos completas de firmas conocidas de vulnerabilidades y ataques del sistema. Las organizaciones comparten estas bases de datos en todo el mundo para ayudar a prepararse y mantener alejados muchos ataques comunes.
  • Establecimiento de sensores de advertencia temprana y redes de alerta. Debido al costo y la imposibilidad de supervisar cada red, las organizaciones supervisan los objetivos de gran valor o crean impostores que se parecen a los objetivos de gran valor.
  • Intercambio de información de inteligencia cibernética. Las empresas, los organismos gubernamentales y los países ahora colaboran para compartir información esencial sobre los ataques graves a los objetivos fundamentales para evitar ataques similares en otros lugares. 
  • Establecimiento de estándares de administración de seguridad de la información entre organizaciones nacionales e internacionales. ISO 27000 es un buen ejemplo de estos esfuerzos internacionales.
  • Promulgación de nuevas leyes para desalentar los ataques cibernéticos y las violaciones de datos. Estas leyes tienen multas severas para penalizar a los delincuentes cibernéticos que realicen acciones ilegales.


Referencia

Cybersecurity Essentials - CISCO

lunes, 26 de junio de 2017

20. Gestión de paquetes y procesos



Gestión de paquetes

La administración de paquetes es un sistema mediante el cual el software puede ser instalado, actualizado, consultado o eliminado de un sistema de archivos. En Linux, hay muchos sistemas de gestión de paquetes de software diferentes, pero los dos más populares son los de Debian y Red Hat.

Gestión de paquetes de Debian

La distribución de Debian y sus derivados como Ubuntu y Mint, utilizan el sistema de administración de paquetes de Debian. La gestión de paquetes son los paquetes de software que se distribuyen como archivos que terminan en ".deb".

La herramienta de nivel más bajo para administrar estos archivos es el comando dpkg. Este comando puede ser complicado para los usuarios principiantes de Linux, por lo que la Herramienta de Paquete Avanzada, apt-get, un programa front-end para la herramienta dpkg, hace que la administración de paquetes sea aún más fácil. Hay otras herramientas de línea de comandos que sirven como front-ends de dpkg, como aptitude, así como interfaces frontales GUI como synaptic y software-center.


Debian - Agregar paquetes

Los repositorios de Debian contienen más de 65.000 diferentes paquetes de software. Para obtener una lista actualizada de estos repositorios de Internet, puede ejecutar el comando sudo apt-get update.
Para buscar palabras clave dentro de estos paquetes, puede usar el comando sudo apt-cache search keyword.
Una vez que haya encontrado el paquete que desea instalar, puede instalarlo con el comando sudo apt-get install package.

Debian - Actualización de paquetes

Si desea actualizar un paquete individual, ejecute el comando para instalar ese paquete: sudo apt-get install package.
Si una versión anterior del paquete ya está instalada, se actualizará. De lo contrario, se produciría una nueva instalación. Si desea actualizar todos los paquetes posibles, ejecute el comando sudo apt-get upgrade.

Los usuarios que inicien sesión con una interfaz gráfica pueden tener un mensaje que aparece en el área de notificación desde el gestor de actualizaciones indicando que las actualizaciones están disponibles.

Debian - Eliminación de paquetes

Tenga en cuenta que la eliminación de un paquete de software puede resultar en la eliminación de otros paquetes. Debido a las dependencias entre los paquetes, si se elimina un paquete, también se eliminarán todos los paquetes que se necesiten o que dependan de ese paquete.

Si desea eliminar todos los archivos de un paquete de software, excepto los archivos de configuración, puede ejecutar el comando sudo apt-get remove package.

Si desea eliminar todos los archivos de un paquete de software, incluidos los archivos de configuración, puede ejecutar el comando sudo apt-get --purge remove package.

Debian - Consultando Paquetes

Hay varios tipos diferentes de consultas que los administradores necesitan usar. Para obtener una lista de todos los paquetes que están actualmente instalados en el sistema, ejecute el comando dpkg -l.

Para listar los archivos que componen un paquete en particular, puede ejecutar el comando dpkg -L package.
Para consultar un paquete de información, o su estado, utilice el comando dpkg -s package.

Para determinar si un archivo en particular se ha colocado en el sistema de archivos como resultado de la instalación de un paquete, utilice el comando dpkg -S /path/to/file. Si el archivo era parte de un paquete, podría proporcionarse el nombre del paquete. Por ejemplo:

sysadmin@localhost:~$ dpkg -S /usr/bin/who
coreutils: /usr/bin/who
El ejemplo anterior muestra el archivo /usr/bin/ que forma parte del paquete coreutils.


















sábado, 27 de mayo de 2017

19. Búsqueda de archivos mediante el comando Find en Linux


Uno de los desafíos que enfrentan los usuarios al trabajar con el sistema de archivos, es tratar de recordar la ubicación donde se almacenan los archivos. Hay miles de archivos y cientos de directorios en un sistema de archivos Linux típico, por lo que recordar dónde se encuentran estos archivos puede plantear desafíos.

El comando find es una herramienta muy potente que puedes usar para buscar archivos en el sistema de archivos. Este comando puede buscar archivos por nombre, incluyendo el uso de caracteres comodín para cuando no esté seguro del nombre de archivo exacto. Además, puede buscar archivos basados en metadatos de archivo, como el tipo de archivo, el tamaño del archivo y la propiedad del archivo.

La sintaxis del comando find es:
find [starting directory] [search option] [search criteria] [result option]

Una descripción de todos estos componentes:

  • [Directorio inicial]: Aquí es donde el usuario especifica dónde comenzar la búsqueda. El comando find buscará este directorio y todos sus subdirectorios. Si no se proporciona ningún directorio de inicio, se utiliza el directorio actual para el punto de inicio.

  • [Opción de búsqueda]: Aquí es donde el usuario especifica una opción para determinar qué tipo de metadatos buscar; Hay opciones para el nombre de archivo, tamaño de archivo y muchos otros atributos de archivo.

  • [Criterio de búsqueda]: Este es un argumento que complementa la opción de búsqueda. Por ejemplo, si el usuario utiliza la opción para buscar un nombre de archivo, el criterio de búsqueda sería el nombre de archivo.

  • [Opción de resultado]: Esta opción se utiliza para especificar qué acción debe tomarse una vez que se encuentra el archivo. Si no se proporciona ninguna opción, el nombre del archivo se imprimirá en STDOUT.

Buscar por nombre de archivo

Para buscar un archivo por nombre, use la opción -name del comando find:

sysadmin@localhost:~$ find /etc -name hosts                           
find: `/etc/dhcp': Permission denied
find: `/etc/cups/ssl': Permission denied  
find: `/etc/pki/CA/private': Permission denied  
find: `/etc/pki/rsyslog': Permission denied
find: `/etc/audisp': Permission denied 
find: `/etc/named': Permission denied
find: `/etc/lvm/cache': Permission denied 
find: `/etc/lvm/backup': Permission denied
find: `/etc/lvm/archive': Permission denied                           
/etc/hosts
find: `/etc/ntp/crypto': Permission denied
find: `/etc/polkit-l/localauthority': Permission denied   
find: `/etc/sudoers.d': Permission denied  
find: `/etc/sssd': Permission denied 
/etc/avahi/hosts
find: `/etc/selinux/targeted/modules/active': Permission denied  
find: `/etc/audit': Permission denied                                
sysadmin@localhost:~$
Tenga en cuenta que se encontraron dos archivos: /etc/hosts y /etc/avahi/hosts. El resto de la salida eran mensajes STDERR porque el usuario que ejecutó el comando no tenía permiso para acceder a determinados subdirectorios.

Recuerde que puede redirigir STDERR a un archivo para que no necesite ver estos mensajes de error en la pantalla:

sysadmin@localhost:~$ find /etc -name hosts 2> errors.txt             
/etc/hosts 
/etc/avahi.hosts                                                      
sysadmin@localhost:~$
Mientras que la salida es más fácil de leer, realmente no hay ningún propósito para almacenar los mensajes de error en el archivo error.txt. Los desarrolladores de Linux se dieron cuenta de que sería bueno tener un "archivo basura" para enviar datos innecesarios; Cualquier archivo que envíe al archivo /dev/null se descarta:

sysadmin@localhost:~$ find /etc -name hosts 2> /dev/null              
/etc/hosts
/etc/avahi/hosts                                                      
sysadmin@localhost:~$

Visualización del detalle del archivo

Puede ser útil obtener detalles de archivo cuando se utiliza el comando find, porque sólo el nombre del archivo en sí puede no ser suficiente información para que pueda encontrar el archivo correcto.

Para ver estos detalles de archivo, utilice la opción -ls en el comando find:

sysadmin@localhost:~$ find /etc -name hosts -ls 2> /dev/null
    41   4 -rw-r--r--   1 root     root      158 Jan 12 2010 /etc/hosts
  6549   4 -rw-r--r--   1 root     root      1130 Jul 19 2011 /etc/avahi/hosts 
sysadmin@localhost:~$

Búsqueda de archivos por tamaño

Una de las muchas opciones de búsqueda útiles es la opción que le permite buscar archivos por tamaño. La opción -size le permite buscar archivos que sean más grandes o más pequeños que un tamaño especificado, así como buscar un tamaño de archivo exacto.

Cuando especifica un tamaño de archivo, puede dar el tamaño en bytes (c), kilobytes (k), megabytes (M) o gigabytes (G). Por ejemplo, lo siguiente buscará archivos en la estructura de directorios /etc que son exactamente 10 bytes de gran tamaño:

sysadmin@localhost:~$ find /etc -size 10c -ls 2>/dev/null    
   432    4 -rw-r--r--   1 root     root           10 Jan 28  2015 /etc/adjtime
 8814    0 drwxr-xr-x   1 root     root           10 Jan 29  2015 /etc/ppp/ip-d
own.d                                                           
8816    0 drwxr-xr-x   1 root     root           10 Jan 29  2015 /etc/ppp/ip-u
p.d                                                            
 8921    0 lrwxrwxrwx   1 root     root           10 Jan 29  2015 /etc/ssl/cert
s/349f2832.0 -> EC-ACC.pem                                    
  9234    0 lrwxrwxrwx   1 root     root           10 Jan 29  2015 /etc/ssl/cert
s/aeb67534.0 -> EC-ACC.pem                                     
 73468    4 -rw-r--r--   1 root     root           10 Nov 16 20:42 /etc/hostname
sysadmin@localhost:~$

Si desea buscar archivos que sean mayores que un tamaño especificado, coloque un carácter + antes del tamaño. Por ejemplo, lo siguiente buscará todos los archivos en la estructura de directorios /usr que tengan más de 100 megabytes de tamaño:

sysadmin@localhost:~$ find /usr -size +100M -ls 2> /dev/null
574683 104652 -rw-r--r--   1 root      root      107158256 Aug  7 11:06 /usr/share/icons/oxygen/icon-theme.cache                    
sysadmin@localhost:~$









viernes, 26 de mayo de 2017

18. Archivos zip en Linux

La utilidad de archivo de facto en el mundo de Microsoft es el archivo ZIP. No es tan frecuente en Linux, pero está bien soportado por los comandos zip y unzip. Con tar y gzip / gunzip se pueden usar los mismos comandos y opciones para hacer la creación y la extracción, pero esto no es el caso con zip. La misma opción tiene diferentes significados para los dos comandos diferentes.

El modo predeterminado de zip es agregar archivos a un archivo comprimido y comprimirlo.

bob:tmp $ zip logs.zip logs/*
  adding: logs/access_log (deflated 93%)
  adding: logs/access_log.1 (deflated 62%)
  adding: logs/access_log.2 (deflated 88%)
  adding: logs/access_log.3 (deflated 73%)
  adding: logs/access_log.4 (deflated 72%)
El primer argumento en el ejemplo anterior es el nombre del archivo para ser operado, en este caso es logs.zip. Después de eso, es una lista de archivos que se añadirán. La salida muestra los archivos y la relación de compresión. 
Debe tenerse en cuenta que tar requiere la opción -f para indicar que se está pasando un nombre de archivo, mientras que zip y unzip requieren un nombre de archivo y por lo tanto no es necesario que diga explícitamente que se está pasando un nombre de archivo.

El listado de archivos en el zip se realiza mediante el comando unzip y la opción -l (lista):

bob:tmp $ unzip -l logs.zip
Archive:  logs.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  10-14-2013 14:07   logs/
     1136  10-14-2013 14:07   logs/access_log.3
      362  10-14-2013 14:07   logs/access_log.1
      784  10-14-2013 14:07   logs/access_log.4
    90703  10-14-2013 14:07   logs/access_log
   153813  10-14-2013 14:07   logs/access_log.2
---------                     -------
   246798                     6 files
Extraer los archivos es como crear el archivo, ya que la operación predeterminada es extraer:

bob:tmp $ unzip logs.zip
Archive:  logs.zip
   creating: logs/
  inflating: logs/access_log.3
  inflating: logs/access_log.1
  inflating: logs/access_log.4
  inflating: logs/access_log
  inflating: logs/access_log.2

Las páginas de zip y unzip man describen las otras cosas que puedes hacer con estas herramientas, como reemplazar archivos dentro del archivo, usar diferentes niveles de compresión e incluso usar cifrado.


17. Archivado en Linux (tar)


Si tuviera varios archivos para enviar a alguien, podría comprimir cada uno individualmente. Usted tendría una cantidad menor de datos en total que si envió archivos sin comprimir, pero todavía tendría que tratar con muchos archivos al mismo tiempo.

Archivar es la solución a este problema. La utilidad UNIX tradicional para archivar archivos se llama tar, que es una forma corta de TApe aRchive. Tar se utilizó para transmitir muchos archivos a una cinta para copias de seguridad o transferencia de archivos. Tar toma varios archivos y crea un archivo de salida único que se puede dividir de nuevo en los archivos originales en el otro extremo de la transmisión.

Tar tiene 3 modos:
  • Crear: crear un nuevo archivo de una serie de archivos
  • Extraer: extraer uno o más archivos de un archivo
  • Lista: muestra el contenido del archivo sin extraer

Aquí, mostramos un archivo tar, también llamado tarball, que se crea a partir de registros de acceso múltiples.

bob:tmp $ tar -cf access_logs.tar access_log*
bob:tmp $ ls -l access_logs.tar
-rw-rw-r-- 1 sean sean 542720 Oct 12 21:42 access_logs.tar

Crear un archivo requiere dos opciones con nombre. La primera, c, especifica el modo. El segundo, f, indica a tar que espera un nombre de archivo como el siguiente argumento. El primer argumento en el ejemplo anterior crea un archivo llamado access_logs.tar. Los demás argumentos se toman como nombres de archivo de entrada, ya sea como comodín, una lista de archivos o ambos.

El ejemplo anterior hace un listado de directorio largo del archivo creado. El tamaño final es 542.720 bytes que es ligeramente mayor que los archivos de entrada. Tarballs se puede comprimir para facilitar el transporte, ya sea por gzipping el archivo o por tener tar hacerlo con la bandera z de la siguiente manera:

bob:tmp $ tar -czf access_logs.tar.gz  access_log*
bob:tmp $ ls -l access_logs.tar.gz
-rw-rw-r-- 1 sean sean 46229 Oct 12 21:50 access_logs.tar.gz
bob:tmp $ gzip -l access_logs.tar.gz
         compressed        uncompressed  ratio uncompressed_name
              46229              542720  91.5% access_logs.tar

El ejemplo anterior muestra el mismo comando que el ejemplo anterior, pero con la adición del parámetro z. La salida es mucho más pequeña que el tarball en sí, y el archivo resultante es compatible con gzip

Aunque UNIX no trata extensiones de archivos especialmente, la convención es usar .tar para archivos tar, y .tar.gz o .tgz para archivos tar comprimidos
Puede utilizar bzip2 en lugar de gzip sustituyendo la letra j por z y utilizando .tar.bz2, .tbz o .tbz2 para una extensión de archivo (por ejemplo, tar -cjf file.tbz access_log *).

Dado un archivo tar, comprimido o no, puede ver lo que hay en él mediante el comando t:

bob:tmp $ tar -tjf access_logs.tbz
logs/
logs/access_log.3
logs/access_log.1
logs/access_log.4
logs/access_log
logs/access_log.2

Este ejemplo utiliza 3 opciones:

t: lista de archivos en el archivo
j: descomprimir con bzip2 antes de leer
f: opera sobre el nombre de archivo dado access_logs.tbz

A continuación, se muestra el contenido del archivo comprimido. Puede ver que un directorio estaba prefijado a los archivos. Tar se recurse en subdirectorios automáticamente al comprimir y almacenará la información de ruta dentro del archivo.

Finalmente puede extraer el archivo con el indicador -x:

bob:tmp $ tar -xjf access_logs.tbz
bob:tmp $ ls -l
total 36
-rw-rw-r-- 1 sean sean 30043 Oct 14 13:27 access_logs.tbz
drwxrwxr-x 2 sean sean  4096 Oct 14 13:26 logs
bob:tmp $ ls -l logs
total 536
-rw-r--r-- 1 sean sean 372063 Oct 11 21:24 access_log
-rw-r--r-- 1 sean sean    362 Oct 12 21:41 access_log.1
-rw-r--r-- 1 sean sean 153813 Oct 12 21:41 access_log.2
-rw-r--r-- 1 sean sean   1136 Oct 12 21:41 access_log.3
-rw-r--r-- 1 sean sean    784 Oct 12 21:41 access_log.4
Agregue el indicador -v y obtendrá una salida detallada de los archivos procesados. Esto es útil para que pueda ver lo que está sucediendo:

bob:tmp $ tar -xjvf access_logs.tbz
logs/
logs/access_log.3
logs/access_log.1
logs/access_log.4
logs/access_log
logs/access_log.2

Bibliografía

NDG Linux Essentials - Chapter 7 - Archiving and Compression

16. Archivado y compresión en Linux

El archivado de archivos se utiliza cuando uno o más archivos necesitan ser transmitidos o almacenados de la manera más eficiente posible. Hay dos aspectos a esto:
  • Archivando: Combinando múltiples archivos en uno, lo que elimina la sobrecarga en archivos individuales y facilita la transmisión
  • Comprimir: Reducir los archivos eliminando información redundante

Puede archivar varios archivos en un único archivo y comprimirlo, o puede comprimir un archivo individual. El primero se conoce como archivo, mientras que el último se llama compresión. Cuando usted toma un archivo, descomprímalo y extrae uno o más archivos, usted lo está des-archivando.

A pesar de que el espacio en disco es relativamente barato, el archivo y la compresión aún tienen valor:
  • Si desea hacer un gran número de archivos disponibles, como el código fuente de una aplicación o una colección de documentos, es más fácil para las personas descargar un archivo comprimido que descargar archivos individuales.
  • Los archivos de registro tienen el hábito de llenar los discos, por lo que es útil dividirlos por fecha y comprimir versiones anteriores.
  • Cuando realiza una copia de seguridad de los directorios, es más fácil guardarlos todos en un archivo que hacerlo en cada archivo.
  • Algunos dispositivos de transmisión, como cintas, funcionan mejor si envía un flujo de datos en lugar de archivos individuales.
  • A menudo puede ser más rápido comprimir un archivo antes de enviarlo a una unidad de cinta o sobre una red más lenta y descomprimirlo en el otro extremo de lo que sería para enviarlo sin comprimir.

Comprimir archivos

La compresión de los archivos los hace más pequeños eliminando la duplicación de un archivo y almacenándola de tal manera que se pueda restaurar el archivo. El algoritmo de compresión es un procedimiento que la computadora hace para codificar el archivo original, y como resultado lo hace más pequeño. Los científicos informáticos investigan estos algoritmos y proponen mejores que pueden trabajar más rápido o hacer que el archivo de entrada sea más pequeño.

Tipos de compresión

  • Con pérdidas: No se quita ninguna información del archivo. Comprimir un archivo y descomprimirlo deja algo idéntico al original.
  • Sin pérdidas: La información puede quitarse del archivo a medida que se comprime, de modo que la descompresión de un archivo dará lugar a un archivo que es ligeramente diferente del original. Por ejemplo, una imagen con dos tonos sutilmente diferentes de verde podría hacerse más pequeña tratando esos dos tonos como iguales. A menudo, el ojo no puede escoger la diferencia de todos modos.
Generalmente los ojos y los oídos humanos no notan imperfecciones leves en cuadros y el audio, especialmente como se exhiben en un monitor o se tocan sobre los altavoces. La compresión con pérdidas a menudo beneficia a los medios porque resulta en tamaños de archivo más pequeños y la gente no puede distinguir entre el original y la versión con los datos modificados. Para cosas que deben permanecer intactas, como documentos, registros y software, necesita compresión sin pérdidas.

La mayoría de los formatos de imagen, como GIF, PNG y JPEG, implementan algún tipo de compresión con pérdidas. En general, puede decidir cuánta calidad desea conservar. Una calidad inferior resulta en un archivo más pequeño, pero después de la descompresión puede notar artefactos como bordes ásperos o decoloraciones. La alta calidad se parecerá mucho a la imagen original, pero el tamaño del archivo será más cercano al original.

Linux proporciona varias herramientas para comprimir archivos, el más común es gzip. Aquí mostramos un archivo de registro antes y después de la compresión.

bob:tmp $ ls -l access_log*
-rw-r--r-- 1 sean sean 372063 Oct 11 21:24 access_log
bob:tmp $ gzip access_log
bob:tmp $ ls -l access_log*
-rw-r--r-- 1 sean sean 26080 Oct 11 21:24 access_log.gz
Gzip le dará esta información si lo pide, usando el parámetro -l, como se muestra aquí:

bob:tmp $ gzip -l access_log.gz
      compressed     uncompressed  ratio uncompressed_name
           26080           372063  93.0% access_log
Aquí, puede ver que la relación de compresión se da como 93%, que es la inversa de la relación 14:1, es decir 13/14.

Lo contrario del comando gzip es gunzip. Alternativamente, gzip -d hace lo mismo.
Gzip también puede actuar como un filtro que significa que no lee ni escribe nada al disco, sino que recibe datos a través de un canal de entrada y lo escribe a un canal de salida.

Hay otro par de comandos que operan virtualmente idénticamente a gzip y gunzip. Estos son bzip2 y bunzip2. Las utilidades de bzip utilizan un algoritmo de compresión diferente que puede comprimir archivos más pequeños que gzip a expensas de más tiempo de CPU. Puede reconocer estos archivos porque tienen una extensión .bz o bz2 en lugar de .gz.

Bibliografía

NDG Linux Essentials - Chapter 7 - Archiving and Compression

miércoles, 24 de mayo de 2017

15. Descripción de archivos y directorios


Los archivos se utilizan para almacenar datos como texto, gráficos y programas. Los directorios (AKA, "carpetas") se utilizan para proporcionar una estructura de organización jerárquica. Esta estructura es algo diferente de lo que podría estar acostumbrado a si ha trabajado previamente en sistemas Microsoft Windows.

En un sistema Windows, el nivel superior de la estructura de directorios se denomina Mi PC. Cada dispositivo físico (unidad de disco duro, unidad de DVD, unidad flash USB, unidad de red, etc.) aparece en Mi PC, cada uno asignado una letra de unidad, como C: o D :. Una representación visual de esta estructura:


Al igual que Windows, una estructura de directorios de Linux tiene un nivel superior, sin embargo, no se llama Mi PC, sino el directorio raíz y está simbolizado por el carácter /. También no hay unidades en Linux; Cada dispositivo físico es accesible bajo un directorio, no una letra de unidad. Una representación visual de una estructura típica de directorios de Linux:


Esta estructura de directorio es llamada el sistema de archivos por la mayoría de los usuarios de Linux.

Para ver el sistema de archivos raíz, escriba ls /:

sysadmin@localhost:~$ ls /                                            
bin   dev  home  lib    media  opt   root  sbin     selinux  sys  usr  
boot  etc  init  lib64  mnt    proc  run   sbin???  srv   tmp  var

Ruta de directorio

Usando el gráfico en la sección anterior como un punto de referencia, verá que hay un directorio llamado sound bajo un directorio llamado etc, que está en el directorio /. Una manera más fácil de decir esto, es referirse a la ruta.

Una ruta le permite especificar la ubicación exacta de un directorio. Para el directorio de sonido, la ruta sería /etc/sound. El primer carácter / representa el directorio raíz(root), mientras que cada carácter / se utiliza para separar los nombres de directorio.

Este tipo de ruta se denomina ruta absoluta. Con una ruta absoluta, siempre proporciona direcciones a un directorio (o un archivo) a partir de la parte superior de la estructura de directorios, el directorio raíz. Más adelante, se cubrirá un camino diferente llamado ruta relativa.

El siguiente gráfico muestra tres rutas absolutas adicionales:

Directorio Home

El directorio de inicio del término a menudo causa confusión a los usuarios principiantes de Linux. Para empezar, en la mayoría de las distribuciones de Linux hay un directorio llamado home bajo el directorio raíz: /home.

En este directorio /home habrá un directorio para cada usuario en el sistema. El nombre del directorio será el mismo que el nombre del usuario, por lo que un usuario llamado "bob" tendría un directorio home llamado /home/bob.

Su directorio home es un directorio muy importante. Para empezar, cuando abra un shell, debe colocarse automáticamente en su directorio de inicio, ya que aquí es donde va a hacer la mayor parte de su trabajo.

Además, su directorio de inicio es uno de los pocos directorios donde tiene el control total para crear y eliminar archivos y directorios adicionales. La mayoría de los otros directorios de un sistema de archivos Linux están protegidos con permisos de archivo, un tema que se tratará en detalle en un capítulo posterior.

En la mayoría de las distribuciones de Linux, los únicos usuarios que pueden acceder a los archivos de su directorio principal son usted y el administrador del sistema (el usuario root). Esto se puede cambiar utilizando permisos de archivo.

Su directorio home tiene incluso un símbolo especial que puede utilizar para representarlo: ~. Si su directorio home es /home/sysadmin, simplemente puede escribir ~ en la línea de comandos en lugar de /home/sysadmin. También puede referirse al directorio de inicio de otro usuario utilizando la notación ~user, donde user es el nombre de la cuenta de usuario cuyo directorio home al que desea hacer referencia. Por ejemplo, ~bob sería el mismo que /home/bob. Aquí, vamos a cambiar al directorio de inicio del usuario:

sysadmin@localhost:~$ cd ~                                             
sysadmin@localhost:~$ ls                                               
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  
Videos      
sysadmin@localhost:~$

Directorio actual

Su directorio actual es el directorio donde está trabajando actualmente en un terminal. Cuando abre un terminal por primera vez, el directorio actual debe ser su directorio personal, pero esto puede cambiar a medida que explora el sistema de archivos y cambia a otros directorios.

Mientras esté en un entorno de línea de comandos, puede determinar el directorio actual mediante el comando pwd:

sysadmin@localhost:~$ pwd                                             
/home/sysadmin                                                         
sysadmin@localhost:~$

Cambio de directorios

Si desea cambiar a un directorio diferente, utilice el comando cd (cambiar directorio). Por ejemplo, el siguiente comando cambiará el directorio actual a un directorio llamado /etc/sound/events:

sysadmin@localhost:~$ cd /etc/sound/events                                    
sysadmin@localhost:/etc/sound/events$
Tenga en cuenta que no hay salida si el comando cd tiene éxito.Si intenta cambiar a un directorio que no existe, recibirá un mensaje de error:

sysadmin@localhost:/etc/sound/events$ cd /etc/junk                           
-bash: cd: /etc/junk: No such file or directory                               
sysadmin@localhost:/etc/sound/events$
Si desea volver a su directorio de inicio, puede escribir el comando cd sin argumentos o utilizar el comando cd con el carácter ~ como argumento:

sysadmin@localhost:/etc/sound/events$ cd                                      
sysadmin@localhost:~$ pwd                                                     
/home/sysadmin                                                                
sysadmin@localhost:~$ cd /etc                                                 
sysadmin@localhost:/etc$ cd ~                                                 
sysadmin@localhost:~$ pwd                                                     
/home/sysadmin                                                                
sysadmin@localhost:~$

Nombres de ruta absolutos vs. relativos

Recuerde que una ruta de acceso es esencialmente una descripción de dónde se encuentra un archivo o directorio en el sistema de archivos. También puede considerar una ruta de acceso como direcciones que indican al sistema dónde encontrar un archivo o directorio. Por ejemplo, el comando cd /etc/perl/Net significa "cambiar al directorio Net, que encontrará en el directorio perl, que encontrará en el directorio etc, que encontrará en el directorio /".

sysadmin@localhost:~$ cd /etc/perl/Net                                 
sysadmin@localhost:/etc/perl/Net$ 
Sin embargo, ¿qué pasaría si estuviera en el directorio /etc/perl y quisiera ir al directorio /etc/perl/Net? Sería tedioso para escribir el camino completo para llegar a un directorio que es sólo un nivel por debajo de su ubicación actual. En una situación como esta, desea utilizar una ruta relativa:

sysadmin@localhost:/etc/perl$ cd Net                                    
sysadmin@localhost:/etc/perl/Net$ 
Una ruta relativa proporciona direcciones utilizando su ubicación actual como punto de referencia. Recuerde que esto es diferente de rutas absolutas, que siempre requieren que utilice el directorio raíz como un punto de referencia.

Hay una práctica técnica de ruta relativa que puede utilizar para subir un nivel en la estructura de directorios: el directorio .. Independientemente del directorio en el que se encuentre, .. siempre representa un directorio más alto que su directorio actual (con la excepción de cuando se encuentra en el directorio /):

sysadmin@localhost:/etc/perl/Net$ pwd                                 
/etc/perl/Net                                                          
sysadmin@localhost:/etc/perl/Net$ cd ..                                
sysadmin@localhost:/etc/perl$ pwd                                      
/etc/perl                                                              
sysadmin@localhost:/etc/perl$

Mientras que el doble punto (..) se utiliza para referirse al directorio por encima del directorio actual, el punto único (.) Se utiliza para referirse al directorio actual. Sería inútil que un administrador se mueva al directorio actual escribiendo cd . (Aunque en realidad funciona). Es más útil referirse a un elemento del directorio actual utilizando la anotación ./ Por ejemplo:

sysadmin@localhost:~$ pwd                                              
/home/sysadmin                                                         
sysadmin@localhost:~$ cd ./Downloads/                                  
sysadmin@localhost:~/Downloads$ pwd                                    
/home/sysadmin/Downloads                                               
sysadmin@localhost:~/Downloads$ cd ..                                  
sysadmin@localhost:~$ pwd                                              
/home/sysadmin                                                         
sysadmin@localhost:~$

Bibliografía

NDG Linux Essentials - Chapter 6 - Working with Files and Directories