0% encontró este documento útil (0 votos)
91 vistas236 páginas

Material Linux - Completo

Este documento presenta información sobre la administración y seguridad en GNU/Linux. Cubre temas como los fundamentos de Linux, la instalación de Linux, y el manejo del entorno gráfico GNOME. Explica cómo instalar Linux en varios escenarios, incluida la instalación en un disco con Windows ya instalado. También describe componentes clave de GNOME como el panel, los applets y los espacios de trabajo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
91 vistas236 páginas

Material Linux - Completo

Este documento presenta información sobre la administración y seguridad en GNU/Linux. Cubre temas como los fundamentos de Linux, la instalación de Linux, y el manejo del entorno gráfico GNOME. Explica cómo instalar Linux en varios escenarios, incluida la instalación en un disco con Windows ya instalado. También describe componentes clave de GNOME como el panel, los applets y los espacios de trabajo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Administración y Seguridad en GNU/Linux 1

Capitulo Nº 1

TEMAS

Fundamentos de Linux

Instalación de Linux

OBJETIVOS

Al finalizar el capitulo el alumno podrá

Identifica las características de los dispositivos del sistema operático Linux

Instala El Sistema Operativo Linux en varias Escenarios

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 2

GNU/LINUX
Sistema Operativo Libre (Gratuito) su código está basado en lenguaje C, Algunas de sus
características son las Siguientes:

- Multitarea
- Multiusuario

Existen diversas distribuciones bajo el kernel de Linux, las separaremos en cuanto al tipo de uso.

Distribuciones más Usadas según el tipo de trabajo

REDES USUARIOS FINALES

Red Hat Ubuntu y derivados

CentOS Mandriva

Debian

Suse

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 3

Instalación de Linux
Insertamos el CD/DVD en la Lectora, configuramos LA BIOS de la PC para que inicie buscando el
CD/DVD si fuera el caso, a continuación las opciones de Instalación

CASO 1: Instalación de la Distribución CentOS

Insertamos el Disco de Instalación

En esta primera Pantalla nos muestra las opciones de Instalación

Si deseo Instalar de una forma especial (Avanzado) presiono la tecla <TAB>

Y el cursor se ubicara en el promt para que pueda ingresar parámetros para la instalación

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 4

La siguiente opción nos da la opción para verificar la integridad de los archivos del CD/DVD

En la siguiente Pantalla nos mostrara la Bienvenida de la Instalación

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 5

Seleccionamos el idioma para la instalación

Seleccionamos el tipo de teclado

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 6

Seleccionamos el tipo de almacenamiento para la instalación

Asignamos un Nombre a la PC y también podemos configurar la RED

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 7

Seleccionamos la Zona Horaria

Asignamos una contraseña al usuario root

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 8

Seleccionamos el método para particionar el disco Duro

En esta pantalla nos muestra las opciones de particionamiento, así como información del disco

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 9

Seleccionamos el disco / Crear y nos muestra la herramienta para crear particiones, seleccionamos
estándar

Primero crearemos el SWAP(Tipo de sistema de archivo seleccionamos swap le damos tamaño y le


damos en crear)

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 10

Ahora creamos la partición donde se alojara el sistema de archivos


- Seleccionamos la partición libre le damos en crear /Partición estándar
- Punto de montaje seleccionamos el símbolo /
- Tipo de sistema de archivos seleccionamos ext4
- Asignamos el tamaño para esta partición
Presionamos Aceptar

Quedara algo parecido a la siguiente Figura Seleccionamos la partición donde se instalara el


Sistema y le damos en siguiente y escribimos los cambios en el disco.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 11

La siguiente Opción es para configurar el gestor de arranque GRUB si deseamos le podemos


modificar la etiqueta

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 12

La última opción es la configuración de paquetes que se van a instalar durante la instalación


seleccionamos la que se ajusta a nuestras necesidades y le damos en aceptar

Comienza la Instalación

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 13

Terminada la instalación procedemos a reiniciar

Observamos como inicia

Cargando el sistema

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 14

POST Instalación

Pantalla de Bienvenida

Nos pide la creación de un usuario

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 15

Configuración de Fecha y Hora

Opción de Kdump Desactivado y Finalizamos

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 16

Ya Tenemos CentOS Instalado.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 17

CASO 2: Instalación de CentOS en un Disco donde existe un Windows Instalado

Tenemos el Siguiente Escenario

Los Pasos Para este tipo de instalación son los mismos pasos de la sección anterior, hasta el punto
Donde particionamos el disco, para este caso nos mostraría lo siguiente:
En la información del disco tenemos ya 2 particiones creadas sabemos que en la primera partición
en NTFS tenemos instalado Windows 7 existe una segunda partición en FAT32 y tenemos un
sector Libre que es la que usaremos para instalar Linux.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 18

Seleccionamos la partición Libre y creamos el SWAP y la Raíz para el Sistema y continuamos con el
proceso de instalación

Llegamos a la parte del gestor de arranque (GRUB), vemos que nos muestra 2 etiquetas cada una
hace referencia a un numero de partición (other -> sda1, CentOS -> sda3)

Sabemos que en sda1 está instalado Windows 7 entonces procedemos a editar la Etiqueta
quedando así:

¿Qué sucede si tengo 2 sistemas Windows instalados, reconocerá ambas particiones como tales?

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 19

Capitulo Nº 2

TEMAS

Manejo del entorno grafico GNOME

OBJETIVOS

Al finalizar el capitulo el alumno podrá

Identifica las características del Escritorio GNOME

Navega entre directorios

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 20

Escritorio GNOME
GNOME es el entorno de escritorio gráfico predeterminado para CentOS. Se proporciona un
escritorio integrado, atractivo para los usuarios y una plataforma de desarrollo unificado en la
parte superior del escritorio proporcionada por el Sistema X Window

El entorno de escritorio GNOME incluye aplicaciones integradas, como Nautilus


y editor de texto gedit, que le permite utilizar combinaciones de teclado y ratón para cortar,
pegar, copiar, mover y eliminar archivos, carpetas y otros elementos y en el escritorio.
Herramientas de administración en los menús de GNOME le permite controlar los procesos,
configurar los servicios, sistemas remotos.

Componentes de GNOME:

El panel: área en el escritorio de GNOME en la que tienen acceso a ciertas acciones o


información
Applet: una pequeña aplicación interactiva que se encuentra dentro de un panel, por
ejemplo, el volumen Control. Cada subprograma tiene una interfaz de usuario simple
que usted puede operar con el mouse o teclado.
Workspace: un área discreta en el escritorio de GNOME en el que se puede trabajar

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 21

Gestión de Sistema de archivos

La Jerarquía del sistema de archivos de Linux

- En Linux y UNIX como sistemas operativos, el sistema de archivos está organizado en una
jerarquía, como un árbol invertido.
- La raíz del árbol es el directorio /
- El nivel superior de un sistema de archivo es tratado como si fuera un directorio
para especificar la ubicación de un archivo en el sistema, podemos especificar la ruta
completa a ese archivo a partir de la raíz del árbol a través de sus subdirectorios hasta
llegar al archivo destino o saltar directorio por directorio hasta llegar al destino, se le
denomina Ruta Absoluta y ruta relativa respectivamente

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 22

La mayoría de los archivos de configuración se guardan en el directorio /etc y sus


subdirectorios

El directorio /var contiene archivos de sistema variables, tales como registros, datos
de servicios

Ejecutables o comandos, se guardan en /usr/bin o /bin para ser accesible por todos
los usuarios. Algunos de los comandos de administración se pueden mantener en
/usr/sbin o /sbin

Cada usuario tiene su propio directorio que se aloja dentro del directorio /home.
Todos los archivos personales del usuario (configuración, datos, o incluso
aplicaciones) se guardan aquí.
El directorio del usuario root no se encuentra dentro de /home por ser el super
usuario su ubicación está en la raíz /root

El directorio /tmp es utilizado generalmente por las aplicaciones para almacenar datos
temporales. El sistema elimina automáticamente los archivos de más de diez días de
permanencia en /tmp

El gestor de arranque es el encargado de cargar Linux. El gestor de arranque, el kernel


y los archivos de configuración del cargador, se almacenan en /boot

El sistema representa los dispositivos de hardware llamados archivos de dispositivos,


que se mantienen en el directorio /dev y sus subdirectorios

Cuando los medios extraíbles que se carga el sistema de archivos en los medios de
comunicación se instala en un subdirectorio de /media.
Por ejemplo, un CD-ROM puede ser montado en /media/cdrom, y usted podría tener
acceso a ese directorio cada vez que necesite leer un archivo desde el CD-ROM. Si el
medio extraíble tiene una etiqueta de sistema de archivos, que la etiqueta se utiliza a
menudo como el nombre del punto de montaje en /media

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 23

Test: Sistema de Archivos

1. ________ contiene la mayor parte de los archivos configuración del sistema

2. ________ es el directorio raíz

3. Directorios de los usuarios se encuentran en __________ , pero el directorio del


usuario root esta en ___________

4. El directorio __________contiene datos variables como los Web sitios y sitios FTP.

5. Los archivos temporales se almacenan en ___________ y _______________

6. Los dispositivos extraíbles se montan normalmente en el directorio __________

7. Los archivos de dispositivos se mantienen en ________________

8. Los archivos utilizados durante el proceso de arranque se almacenan en _________

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 24

CheckList: Accediendo al sistema

Inicie una sesión como visitor la contraseña es password

Cambiar la contraseña del usuario visitor a 55TurnK3y

Salir

Vuelve a entrar como visitor con la nueva contraseña de 55TurnK3y

Bloquear la pantalla

Desbloquear la pantalla

Sin salir de la sesión, cambiar de sesión al usuario student contraseña es student

Salir de la cuenta de student, desbloquear la pantalla de visitor ingresando la


contraseña

Retorne al escritorio de GNOME.

Cierre sesión

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 25

Checklist: Editando archivos con gedit

Logearse como student

Ejecutar el editor de texto gedit

Abrir el archivo gedit-test.txt del directorio del usuario

Guardar una copia de este archivo en el directorio activo del usuario student con
el nombre save-gedit-test.txt

Editar el archivo copiado save-gedit-test.txt, agregar el siguiente contenido


“Esto es una prueba de uso del archivo gedit”

Guardar y salir

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 26

Administrar Archivos con Nautilus

Usando Nautilus
Nautilus es el gestor de archivos que viene con el escritorio GNOME. Con Nautilus se puede
explorar
el sistema de archivos, crear archivos y carpetas, ver las propiedades de archivos y manipular
archivos y carpetas
(copiar, borrar, mover, cortar, pegar, y así sucesivamente)

Además de trabajar con archivos y carpetas locales, Nautilus también le permite acceder a los
archivos y carpetas, sistemas remotos.
Puede conectarse y navegar por los archivos de los servidores de FTP, recursos compartidos de
Windows, servidores y otros servidores de la red

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 27

Test: Usando Nautilus

Nota: Todos los archivos arch1.txt arch3.txt arch5.txt arch9.txt se encuentran en el


directorio originaldir

Logearse con el usuario student

Crear un directorio llamado targetdir en el directorio de student

Copiar el archivo llamado arch1.txt a targetdir

Crear un enlace simbólico en el directorio de student de nombre text2.txt que haga


Referencia al contenido de arch1.txt que está dentro de targetdir

Mover el archivo arch3.txt al directorio tardetdir

Cambiar el nombre del archivo arch9.txt a arch4.txt

Eliminar el archivo llamado arch5.txt

Eliminar el directorio originaldir

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 28

Accediendo a sistema de archivos remotos usando Nautilus

Teniendo en cuenta la conectividad de red, Nautilus puede mostrar archivos y carpetas de FTP
accesible de forma remota,Windows y otros tipos de servidores. La forma más fácil de lanzar
Nautilus para conectarse de forma remota es abrir una ventana y Conectar al servidor

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 29

Checklist: Administrando Archivos Remotos usando Nautilus

Logearse con el usuario student

Seleccionar Lugares/conectar con el servidor

Elija los siguiente:


Server type – elija SSH
Server – IP Servidor
Folder - /home/student/data
Username- student
Conectarse al servidor y copiar el contenido del servidor al escritorio

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 30

Examen Capitulo: Copiar, Mover y Acceder a archivos Remotos usando Nautilus

- Ingresar con el usuario student

- Crear un directorio llamado nautilus-test en el directorio principal de student

- Crear un archivo de nombre original1.txt y guardarlo en el directorio nautilus-test

- Copiar el archivo original1.txt al directorio personal del usuario

- Cambiar el nombre del archivo original1.txt del directorio personal a


original1test.txt

- Conectar por ftp al servidor y copiar cualquier archivo disponible al escritorio del
usuario student

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 31

Capitulo Nº 3

TEMAS

Introducción a la línea de comandos

Manejo de comandos básicos

Expresiones Regulares

Operando el sistema desde línea de comandos

OBJETIVOS

Al finalizar el capitulo el alumno podrá

Navegar entre directorios usando el bash

Ejecutar Aplicaciones en segundo plano

Operar en el sistema desde la línea de comandos

Ejecutar comandos usando comodines

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 32

Introducción a bash

bash programa informático que consiste en ejecutar ordenes, el bash es la shell de las mayoría de
distribuciones GNU/Linux

Consolas virtuales

Consolas de Texto

Se pueden ejecutar 5 consolas virtuales en modo de texto ejecutando la siguiente combinación de


teclas

CTRL + F2 -> Abre la primera consola de texto

CTRL + F3 -> Abre la segunda consola de texto

CTRL + F4 -> Abre la tercera consola de texto

CTRL + F5 -> Abre la cuarta consola de texto

CTRL + F6 -> Abre la quinta consola de texto

Consolas Graficas

Por defecto si en la instalación se instalo algún entorno de escritorio se encuentra presionando la


combinación de teclas siguientes:

CTRL + F1 -> Consola grafica por defecto

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 33

Acceso desde bash

Ir a Aplicaciones -> Herramientas de Sistema -> terminal

Ejecutar los siguientes comandos:

passwd

id

su – [username]

exit

- La Tecla Tab ayuda a completar comandos

- El intérprete de comandos guarda un historial

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 34

Ejecutando Herramientas graficas desde el bash

Algunos adicionales al control de trabajo relacionado con comandos de la shell son:

CTRL+C: Termina un proceso


CTRL+Z: Suspende o detiene un proceso
Jobs: lista de procesos en segundo plano y detenidos
fg: envía un trabajo a primer plano
bg: envía un trabajo a segundo plano

Checklist

Abrir una terminal

Ejecutar desde la Shell con privilegios de root system-config-keyboard

Use la combinación de teclas para detener el proceso

Liste los procesos en segundo plano y detenidos

Mande la herramienta de teclado al primer plano

exit

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 35

Navegar entre directorios

Grafico Nautilus 1

El nombre de una ruta absoluta siempre comienza con /, por ejemplo la ruta absoluta para la
imagen seria /mnt/Tareas

- el símbolo ~, es una abreviatura para el nombre de ruta absoluta del directorio del
usuario actual.

La siguiente tabla compara y contrasta los comandos de la shell con operaciones en la


Interfaz gráfica del gestor de archivos Nautilus

Navegación Grafica Navegación por comandos


Doble click en el directorio para ingresar cd [directorio]
Ver el contenido de un directorio ls [directory]
Lista de carpetas en la barra de direcciones pwd

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 36

Test: Navegando con nombres de ruta absoluta

Según el grafico anterior (Grafico Nautilus 1) responder lo siguiente:

1. ¿Qué comando realizaría el usuario visitor para ubicarse en su directorio activo?


____________________________________________________________

2. ¿Qué comando permite al usuario student cambiar de directorio?


____________________________________________________________

3. ¿Cómo mostrar la lista de archivos contenidos en un directorio?


____________________________________________________________

4. ¿Qué comando se utiliza para listar las imágenes en la carpeta de Images de visitor?
___________________________________________________________

5. Usted está en el directorio principal de visitor. Cómo obtengo un listado de los


archivos en su propio directorio?
___________________________________________________________

6. Usted no está seguro del directorio en que se encuentra. ¿Qué comando mostrará
su ubicación actual?
___________________________________________________________

7. ¿Qué único comando se utiliza para mostrar los archivos, tanto en el directorio Images
y datos del usuario visitor?
___________________________________________________________

8. ¿Cuál es el nombre de ruta absoluta para el archivo roxanne.mp3?


___________________________________________________________

9. ¿Cuál es el nombre de la ruta absoluta del Escritorio de Student?


__________________________________________________________

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 37

Administrando archivos y directorios desde la línea de comandos

Algunos comandos básicos:

mkdir : crea directorio

touch : crea archivos con extensiones

rmdir : elimina directorios vacios

cp : copia archivos

mv : mueve o cambia de nombre a los archivos o directorios

rm : elimina directorios y archivos

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 38

Comandos Básicos – Rutas Absolutas, Rutas Relativas

mover el archivo call-me.mp3 del usuario visitor a su escritorio usando rutas


absolutas
___________________________________________________________

mover el archivo roxanne.mp3 al directorio mp3 usando ruta relativa


_____________________________________________________

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 39

Checklist: Gestión de archivos usando rutas absolutas

Inicie sesión con el usuario student

Crear un directorio llamado bowe-labs el su directorio personal

Copie todos los archivos del directorio www al directorio bowe-labs

Mover los archivos del directorio /var/www al directorio labtest

Cambiar de nombre al directorio labtest por testlab

Eliminar los archivos con extensión .html dentro del directorio bowe-labs/error

Crear archivos dentro de testlab (index.html, music.mp3,document.doc)

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 40

Checklist: Consolas virtuales

Ingresar a la primera consola de texto logearse como root

Ingresar a la segunda consola de texto logearse como student

Ingresar a la tercera consola de texto logearse como visitor

Abrir una consola grafica para cada usuario

Volver a la consola de texto del usuario root y enviar el siguiente mensaje a todos
los usuarios conectados:

“El Servidor se reiniciara dentro de 1 minuto”

Ir a la consola de texto de visitor y responder que ese tiempo no le basta para


terminar la ejecución de una tarea que sean 2 minutos y se reincie

Ir a la consola de student y responder al mensaje que no tiene problemas con que


reinicien el servidor

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 41

Test: Acceso a la línea de comandos

- Crear los siguientes directorios /HD1/HD2/HD3/HD4

- Dentro de HD2 crear los siguientes archivos: arch1.txt,arch1.html,arch.mp3

- Dentro de HD3 crear los siguientes subdirectorios /DIR1/DIR2/DIR3

- Cambiar de nombre a HD1 por HD5

- Eliminar el directorio HD4

- Eliminar el archivo arch1.txt

- Mover el contenido del directorio HD2 al directorio /Directorio(crear este


directorio)

- Respuesta:

--------------------------------------------------------------------------------------------------------------
-

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 42

Manejo de la línea de comandos


Sintaxis general de los comandos:

comando [parámetros] [argumentos]

Ejecutar los siguientes comandos:

$ date

$ cal

Opciones de comando cal

__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

Encadenar comandos:

$ date;pwd

$ echo “cadena”

- Comando ls => Listar los ficheros

Parámetros

Parámetro Significado

-l Información detallada

-a Visualiza ficheros ocultos

-F Añade un carácter al final del nombre para especificar el tipo:


/ para un directorio
* para un ejecutable
@ para un vinculo simbólico
-R Si existen subdirectorios, entra en ellos de manera recursiva

-t Ordena por fecha de modificación del más reciente al más antiguo.

-1 Se visualiza todo en una sola columna

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 43

- Comando cp => copia ficheros

Parámetro Significado

-r Recursivo: copia un directorio y todo su contenido

-p Se preservan los permisos y fechas

-a Equivalente a usar –rp

- Comando rm => elimina ficheros

Parámetro Significado

-r Recursivo: elimina un directorio y todo su contenido

-f Fuerza la supresión

- Comando ln => Crea enlaces a ficheros

Parámetro Significado

-s Crea enlaces simbólicos (blandos)

- Comando uname => muestra información del sistema

Parámetro Significado

-s Nombre del kernel

-n nombre del equipo en la red (host)

-r release del kernel

-p tipo de procesador

-o nombre sistema operativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 44

Comandos Básicos:

Comando Significado

find buscar ficheros

which busca ejecutables

du copia archivos y directorios remotos

df Muestra el uso de espacio de archivos y directorios

scp Muestra las unidades de disco, el tamaño y el espacio libre

Visualizar texto:

Comando Significado

head Muestra las primeras líneas de un archivo

tail Muestra el uso de espacio de archivos y directorios

cat Muestra las últimas líneas de un archivo

more Muestra todo el contenido de un archivo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 45

Expresiones Regulares
Comodines:

Caracteres Descripción

* Sustituye una cadena de longitud variable, incluso vacía

? Sustituye cualquier carácter único

[…] Una serie o un rango de caracteres

[a-b] Una carácter entre el rango indicado [de a hasta b]

[!…] Inversión de búsqueda

[^…] Idem

Buscar Ficheros:
El comando find permite buscar ficheros dentro de la estructura del sistema de archivos con ayuda
de criterios, y da la posibilidad de actuar sobre los resultados devueltos.

Sintaxis:

find ruta –criterios opciones

Criterios de búsqueda:

-name => permite una selección por nombres de ficheros, es posible usar comodines
-user y –group => permite una búsqueda sobre el propietario y el grupo de los ficheros
-size => permite precisar el tamaño de los ficheros buscados
-size 10k -> ficheros de un tamaño de 10KB

-size +5000k -> ficheros de un tamaño mayor a 5000KB

-size -100k -> ficheros de un tamaño menor a 100KB


-perm: permite una selección por permisos de ficheros
-exec: va ejecutar el comando colocado justo después con cada coincidencia encontrada
find . –name “a*” –exec rm –f {} \;

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 46

Filtrar archivos:

Se trata de extraer líneas de un fichero según varios criterios. Para ello, se dispone del comando
grep

Sintaxis:

grep [Opciones] [Ficheros]

Opciones de grep

Opciones Función

-v Efectúa la búsqueda inversa

-c Solo devuelve el número de líneas encontradas, sin mostradas

-i No diferencia las mayúsculas de las minúsculas

-n Indica el numero de línea para cada línea encontrada

-l En el caso de ficheros múltiples, indica en que fichero se ha encontrado la línea

Ejercicio: Trabajar sobre el fichero /etc/hosts

a. Mostrar las líneas que contengan la palabra “PC”

b. Mostrar las líneas que no contengan la palabra “PC”

c. Mostrar el número de líneas encontradas filtrando la palabra “PC”

d. Mostrar la ubicación en número de línea de las coincidencias de “PC”

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 47

Parámetros de tener en cuenta

^ Indica inicio de la línea

$ Indica el final de la línea

\ Toma el siguiente carácter como literal

Ejemplos:

- Ejemplo 1

- Ejemplo 2

- Ejemplo 3

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 48

Test: Expresiones Regulares

Cual es resultado de las siguientes expresiones:

1. h[aiou]t

2. b[ol][oa]t

Seleccione las opciones que crea que son correctas.

3. ba[nr]k
a. bank
b. banrk
c. bark
d. bakk

4. ^root
a. root:x:0:0:root:/root:/bin/bash
b. operator:x:11:0:operator:/root:/sbin/nologin
c. root is the best!
d. You are not root.

5. Las líneas que empiezan con test o Test

__________________________________________

6. Líneas que terminan en end.

__________________________________________

7. Que muestre file5,file6,file7,file8

__________________________________________

8. Que muestre file2,file4,file6,file8

__________________________________________

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 49

Test: Buscar ficheros

- Buscar todos los ficheros cuya segunda letra sea un b o B

- Buscar todos los archivos mp3 y eliminarlos

- Buscar los archivos en el directorio /etc que contengan la primera letra una vocal y sea
de extensión .conf

- Buscar ficheros cuyo penúltimo carácter no sea una vocal

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 50

Comando sed

Permite filtrar y transformar texto. Permite modificar el texto vía comandos en un paso y sin
edición interactiva

Sintaxis:

sed -e ‘s/antiguo/nuevo/g’ Fichero

Columnas y Campos

El Comando cut permite seleccionar columnas y campos en un fichero

a. Columnas:

La Sintaxis es la siguiente:

cut –cColumnas Fichero

El Formato de selección de columna es el siguiente:

- Una columna sola => -c2 para la columna 2


- Un intervalo => -c2-4 para las columas 2,3 y 4
- Una lista de columnas => -c1,3,6 para las columnas 1,3 y 6
- Los 3 a la vez => -c1-3,5,6,12

b. Campos:

El comando cut también permite seleccionar campos. Se deben delimitar estos campos
por defecto por una tabulación, pero el parámetro –d permite seleccionar otro carácter.

Sintaxis:

cut -dc -fCampos Fichero

Agrupación de ficheros en uno solo

El comando paste permite agrupar varios ficheros en uno solo

Sintaxis:

paste -d”valor” Fichero fichero2

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 51

Ordenación de Líneas:

El comando sort permite ordenar líneas, por defecto la ordenación se hace en orden creciente. La
ordenación es posible a partir de uno o más campos

Sintaxis:

sort -k #Campo opciones Fichero

Algunas Opciones

-n Ordenación Numérica ideal para columnas de cifras

-r Ordenación en orden decreciente

-tc Nuevo delimitador de campo c

El comando diff indica las modificaciones que hay que aportar a los dos ficheros en entrada para
que su contenido se idéntico

Sintaxis:

diff Fichero1 Fichero2

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 52

Capitulo Nº 4

TEMAS

Pipes y Redirección

Editor vi, alias, agrupación de comandos

OBJETIVOS

Al finalizar el capitulo el alumno podrá

Ejecutar Comandos utilizando salidas estándar

Editar archivos usando vi o vim

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 53

Pipes y Redirección
Las redirecciones de entrada y salida permiten redireccionar los resultados hacia un fichero. Luego
se puede inyectar este fichero en un filtro para extraerle otros resultados. Las tuberías o pipes
permiten redireccionar el canal de salida de un comando hacia el canal de entrada del otro. El
carácter que lo permite es |

En todas las variantes de GNU/Linux tenemos tres flujos estándar que a modo de canales
conectan la entrada y salida (I/O) de un comando ó aplicación con la terminal ó consola cuando se
ejecuta.

Son los siguientes:

STDIN Standard input


STDOUT Standard output
STDERR Standard error

Parámetro Definición Ejemplos


> Redirecciona la salida a un archivo date > /tmp/file
>> Redirecciona la salida a un archivo (agrega) cal >> /tmp/file
2> Redirecciona los errores a un archivo ls /etc 2> /tmp/errors
ls /etc > /tmp/output 2> tmp/errors
2> /dev/null Descarta los errores direccionándolos a ls /var 2> /dev/null
dev/null ls /var > /tmp/output 2> /dev/null
2>&1 Redirecciona a un mismo archivo la salida y ls /dev > /tmp/all 2>&1
los errores
| Convierte la salida de un comando en la ls /usr/lib | grep '^m'
entrada de otro comando
< Redirección de entrada grep ‘root’ < /etc/passwd

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 54

Test: Redirección y Pipes

a. Listar todos los ficheros del directorio /usr/share/doc pero mostrar solo los que
terminen con el numero cuatro

______________________________________________________________________

b. Mostrar en pantalla las líneas del archivo /etc/hosts que contengan un numero 6 al
final de la línea

______________________________________________________________________

c. Mostrar en pantalla las líneas del archivo /etc/hosts que contengan 127.0.0.1

______________________________________________________________________

d. Ejecutar el siguiente comando como Student, y redireccionar STDOUT a


/tmp/output.txt y STDERR a /tmp/error.txt

find /etc –name ‘host*’

______________________________________________________________________

e. Ejecutar el siguiente comando como Student y redireccionar STDOUT y STDERR al


archivo /tmp/all.txt

______________________________________________________________________

f. Agregar al archivo /tmp/output.txt el resultado de listar todos los ficheros de /var

______________________________________________________________________

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 55

Editor vi

El Editor de texto vi es un poderoso editor de texto que se puede encontrar en cualquier sistema
GNU/Linux

El editor de texto vim es una versión mejorada de vi, soporta manipulación de texto sofisticadas
que son muy útiles para la administración del sistema

vi es pequeño => ocupa poco espacio en disco en disco, consume poca memoria

Existen tres modos de funcionamiento:

Modo comando:
Modo de visualización se accede a este modo presionando la tecla esc

Modo inserción:
Se trata de insertar texto

Modo línea de comandos:


En este modo se pueden insertar comandos especiales, se accede mediante esc + :

Operaciones de vi

a. Introducción de datos

Comando Acción
a Añade después del carácter actual
A Añade al final de línea
i Inserción de texto al inicio de la línea
o Añade debajo de la línea actual
O Añade arriba de la línea actual

b. Salir y guardar

Comando Acción
ZZ Guarda el fichero y sale
:q! Sale sin guardar
:q Sale si no se modifico el fichero
:w Guarda
:wq Guarda y sale
:x Guarda y sale

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 56

c. Desplazamiento

Comando Acción
h Ir a la izquierda
l Ir a la derecha
k Ir hacia arriba
j Ir hacia abajo
0 (cero) Principio de línea
:0 Principio de fichero (primera línea)
$ Fin de línea
:$ Fin de fichero ultima línea
w Ir a la palabra siguiente
b Ir a la palabra anterior
G Ultima línea del fichero

d. Las correcciones

Comando Acción
x Borra el carácter bajo el cursor
X Borra el carácter detrás del cursor
r<c> Sustituye el carácter bajo el cursor por el carácter <c>
dw Borra desde el cursor hasta el final de la palabra
d$ ó D Borra desde el cursor hasta el final de la línea
d0 Borra desde el principio de línea hasta el cursor
df<c> Borra todo hasta el carácter <c>
dG Borra todo hasta la última línea, incluyendo línea actual
d1G Borra todo hasta la primera línea, incluyendo la línea actual
dd Borra la línea actual
u Cancela la última acción

e. Búsqueda en el texto

El comando de búsqueda es el carácter /. La búsqueda arranca en el carácter actual hasta


el final del fichero.
El comando n permite seguir la búsqueda en el sentido indicado al principio. El comando N
efectúa la búsqueda en sentido inverso.

Algunos criterios
- /[CcBb]ola => Cola,cola,Bola,bola
- /[A-Z]e => todo lo que empieza con mayúscula con una e en segunda posición
- /[A-Za-z0-9] => todo lo que empieza con mayúscula, minúscula y una cifra
- /al.r => el punto sustituye un carácter
- /^cadena => el ^ indica que la cadena buscada deberá estar al principio de la línea
- /cadena$ => indica que la cadena buscada deberá estar al final de la línea

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 57

f. Copiar – Pegar

Las siguientes acciones son posibles en modo comando


- yy => para copiar un línea
- 5yy => para copiar 5 lineas
- p => para colocar las líneas copiadas en un sitio determinado

g. Sustitución

Permite reemplazar de manera automática varias coincidencias por otra cadena como
cuando usamos el comando sed.

:[1ra línea, ultima línea]s/original/reemplazo/[gc]

Con el parámetro c, vi requiere una confirmación por cada coincidencia

NOTA: Para ver el número de líneas en el editor vi tenemos el comando: set number y para quitar
los números de línea: set nonumber

Alias
Es un atajo a un comando y a sus parámetros

El siguiente comando lista los alias disponibles en el sistema:

alias

Sintaxis para crear un nuevo alias:

alias nom_alias = ‘comando -parametro’

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 58

Capitulo Nº 5

TEMAS

Empaquetar y desempaquetar ficheros

Comprimir y descomprimir archivos

Red Hat Package Manager (rpm)

Utilidad yum

OBJETIVOS

Al finalizar el capitulo el alumno podrá

Empaquetar ficheros desde la línea de comandos

Comprimir y descomprimir archivos

Consultar e instalar paquetes rpm

Instalar, Actualizar o eliminar programas usando yum

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 59

Empaquetar Ficheros
Sirve para empaquetar varios archivos en un único archivo, así como también desempaquetar
archivos empaquetados el comando a usar es el tar

Sintaxis:

Empaquetar:

tar -cvf archivo.tar dir_a_empaquetar

v Modo verbose
c Crear
f file/archivo

Lista los archivos contenidos dentro de un archivo.tar -> Parámetro t

tar -tf archivo.tar

Desempaquetar

tar -vxf archivo.tar

v Modo verbose
x Extrae
f File/archivo

Observación:
un directorio con el mismo nombre al directorio “original” (no la del archivo) será creado
aplastando cualquier directorio con el mismo nombre si es que existiera

- Desempaquetar solo grupo de archivos seleccionados

tar -xvf archivo.tar “*.jpg”

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 60

Comprimir y descomprimir ficheros


Comprimir los ficheros es útil a la hora de crear copias de seguridad o transferencia de datos a
través de la red, el comando a usar en sistemas Linux es gzip, bzip2

Comprimir archivos:

gzip: comprime un archivo .tar en .gz

Resultado del archivo: archivo.tar.gz

gzip archivo.tar

bzip : comprime un archivo .tar en .bzip

Resultado del archivo: archivo.tar.bz2

bzip2 archivo.tar

Descomprimir archivos

gunzip: descomprime un archivo .tar.gz en .tar

gunzip archivo.tar.gz

bunzip2: descomprime un archivo .tar.bz2 en .tar

bunzip2 archivo.tar.bz2

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 61

Red Hat Package Manager


RPM es un gestor de paquetes desarrollado por Red Hat que ha sido adoptado de manera masiva
por muchas otras distribuciones. Se basa en comandos, una base de datos local y paquetes en
formato rpm.

La base de datos está colocada en /var/lib/rpm. No se debe modificar NUNCA esta base de datos,
se deben utilizar las herramientas RPM

Instalación:

rpm -ivh paquete.rpm

Parámetros

i Instalación

v Verboso

h Muestra caracteres # para indicar el progreso de la instalación

Actualización

rpm -Uvh paquete

Parámetros

U Actualiza el paquete si no esta instalado procede a instalar

F Actualiza paquetes que están realmente instalados

Desinstalación

rpm -e paquete opciones

Opciones

--nodeps Actualiza paquetes que están realmente instalados

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 62

Consultas RPM

Se puede consultar la base de datos RPM con el parámetro -q seguida de algunas


opciones.

-a Lista de todos los paquetes instalados


-i Información general del paquete
-l Lista de los ficheros instalados
-c Lista archivos de configuración
-d Lista la documentación
--requires Dependencias del paquete

Ejemplo 1:

Ejemplo 2:

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 63

Usando YUM
yum es un programa de gestión de paquetes, busca los paquetes dentro de los repositorios y
resuelve las dependencias de manera automática

1. Refrescar la cache:

yum clean all

2. Listar los paquetes

El parámetro list permite listar los paquetes. Por defecto se listan todos pero existen
varias opciones disponibles:

- all : es el caso por defecto, se listan primero los paquetes instalados y luego los
disponibles
- available : los paquetes disponibles para la instalación
- updates : los paquetes que se pueden actualizar
- recent : los últimos paquetes añadidos al repositorio

Listar los paquetes disponibles que empiecen con v

yum list available v*

3. información del paquete

yum info paquete

4. Instalar paquetes

yum install paquete

5. Desinstalar un paquete

yum remove paquete

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 64

6. Actualizaciones

Comando Función

yum update paquete actualiza un paquete

yum update se actualizan todos los paquetes

yum upgrade se actualiza el sistema a la versión disponible actual

Notas:

________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 65

Administrando Paquetes usando GNOME


Uso de PackageKit

Ir a Sistema -> Administración -> Añadir/Quitar Software

Para ver los paquetes individuales que se instalan o que están disponibles, seleccione Todos los
paquetes del panel de la izquierda, navegar por la lista en el panel derecho.
Los paquetes con un check en la casilla de verificación están instalados.
Los paquetes sin check en la casilla de están disponibles para ser instalado

Para ver los grupos de paquetes que están instalados o disponibles, seleccione las colecciones del
paquete en el panel izquierdo y navegar por la lista en el panel derecho.
Los grupos con un check en la casilla de verificación están instalados, aquellos que no tienen un
check en la casilla están disponibles para ser instalado.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 66

Instalar, desinstalar y actualizar paquetes

Seleccione Todos los paquetes para administrar los paquetes individuales o seleccione las
colecciones de paquetes para gestionar los grupos de paquetes, Marque la casilla junto al paquete
o grupo que desee instalar.
Desactive la casilla de verificación junto al paquete o grupo para desinstalar.
Una vez que haya hecho su elección, haga clic en el botón Aplicar. Si el paquete o grupos requiere
otros paquetes como son sus dependencias, haga clic en el botón Instalar para instalar las
dependencias necesarias y para desinstalarlas si fuera el caso.

Para actualizar el software del sistema inicie la aplicación Actualización de Software, haga clic en
Sistema –> Administración -> Actualización de software.
Todos los paquetes disponibles para la actualización están marcados para ser actualizados, Usted
puede quitar la selección de las actualizaciones del paquete que usted no desea instalar.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 67

Test: Administración de software

- Instalar desinstalar y actualizar los siguientes paquetes:

xsane (nuevo paquete)

gimp (nuevo paquete)

yum (actualización)

httpd (desinstalar)

vsftpd (Instalar)

xsane-gimp (Instalar)

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 68

Capitulo Nº 6

TEMAS

Administración de Procesos

OBJETIVOS

Al finalizar el capitulo el alumno podrá

Consultar por los procesos del sistema

Detener los procesos en ejecución

Cambiar la prioridad de los procesos

Identifica los procesos, prioridades y señales

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 69

Los Procesos
Un proceso es una instancia de un programa en ejecución. Los procesos tienen su propio espacio
en memoria, el hilo de ejecución, y las características tales como el contexto de seguridad y La
prioridad actual.
El kernel de Linux rastrea todos los aspectos de un proceso por su número de identificación de
proceso (PID).
La información sobre cada proceso que anuncia el kernel de los programas de usuario se da a
través de /proc /PID directorios.
La gestión de procesos comprende la monitorización, detención y cambio de prioridad

Señales

El sistema operativo se comunica con los procesos a través de señales. Estas señales se encargan
de informar sobre eventos o situaciones de error en los procesos. En muchos casos, estas señales
se traducirán en el proceso de salida.

Una señal típica es SIGTERM, que termina el proceso de manera amable otra señal típica es
SIGKILL, que mata el proceso de manera forzada

Prioridades

El rango de valores para dar prioridad a un proceso va desde -20 hasta +19 a mayor valor menor
prioridad y lo puede ejecutar cualquier usuario, a menor valor mayor prioridad esta opción solo
puede ser modificada por el usuario root, la mayoría de procesos se ejecutan con prioridad 0
(Prioridad normal)

Monitoreando Procesos
El comando ps se puede utilizar para enumerar los procesos.
Por defecto, se le da muy poca información útil. Sólo muestra los procesos iniciados a partir de
este terminal. Sin embargo, el comando ps tiene más opciones para mostrar y puede ser adaptado
para proporcionar información muy concisa.

Parámetros
-a Lista información de los procesos más usados

-u Permite precisar una lista

-e Muestra información de sobre todos los procesos

-f Muestra mayor información

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 70

Según las opciones utilizadas, el comando ps proporciona la siguiente información:

- Estado actual del proceso


- ID de proceso
- ID de proceso principal
- ID de usuario
- Clase de programación
- Prioridad
- Dirección del proceso
- Memoria utilizada
- Tiempo de CPU utilizado

Algunos campos que muestra el comando ps

Campo Descripción

UID El ID de usuario efectivo del propietario del proceso


PID El ID de proceso.
PPID El ID de proceso principal
C El uso del procesador para la programación. Este campo no se muestra cuando
se utiliza la opción -c.
CLS La clase de programación a la que pertenece el proceso, como tiempo real,
sistema o tiempo compartido. Este campo sólo se incluye con la opción -c
PRI La prioridad de programación del subproceso del núcleo. Los números más altos
indican una prioridad superior
NI El número de nice del proceso, que contribuye a su prioridad de programación.
Aumentar el valor del comando nice de un proceso significa reducir su prioridad.
ADDR La dirección de la estructura proc
SZ El tamaño de la dirección virtual del proceso
WCHAN La dirección de un evento o bloqueo para el que el proceso está inactivo
STIME La hora de inicio del proceso en horas, minutos y segundos
TTY El terminal desde el cual se inició el proceso o su proceso principal. Un signo de
interrogación indica que no existe un terminal de control.
TIME La cantidad total de tiempo de CPU utilizado por el proceso desde que comenzó
CMD El comando que generó el proceso

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 71

Deteniendo Procesos

SIGKILL = 9

SIGTERM = 15

Ejemplo 1: detener el proceso 2294 de manera normal

kill -15 2294

Ejemplo 2: detener el proceso 2487 de manera forzada

kill -9 2484

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 72

nice y renice
Permite iniciar un comando con una prioridad más baja para permitir a otros posibles procesos
ejecutarse más rápidamente.

nice -n <prioridad> comando argumentos

El comando renice funciona como nice, pero permite modificar la prioridad en función del PID. El
proceso se debe encontrar en ejecución.

renice -n <prioridad> PID

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 73

Monitoreo de Procesos con TOP


Muestra una tabla de procesos en tiempo real

La administración se basa en combinaciones de teclas como se muestra a continuación:

M: ordena los procesos por memoria utilizada

P: ordena los procesos por CPU Utilizado

q: sale

r: modificar prioridad de proceso

k: terminar procesos

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 74

Administrando Procesos

1. Abrir 2 terminales

2. En la primera terminal ejecutar top

3. En la segunda terminal ejecutar:

4. En la terminal donde ejecuto top ordene los procesos por consumo de CPU
presionando la tecla P

5. Determine el PID del proceso cat

6. Desde la segunda terminal ejecute el comando:

7. Ejecute nuevamente el comando y cambie la prioridad a -5:

8. Use el comando nice para iniciar un nuevo proceso cat con una prioridad de 5

Usando la herramienta top

9. Use r para cambiar de prioridad a uno de los comandos cat

10. Use k para terminar el proceso más alto de los cat

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 75

Ejecución en Segundo Plano


Background, foreground, jobs

Puede retomar el control de la shell si ha iniciado un proceso en segundo plano. Puede pararlo de
manera temporal presionando CTRL+Z

Se ha parado el proceso: se ha suspendido su ejecución hasta que vuelva ponerlo en primer plano
con el comando fg

Cuando ejecuta un comando, obtiene un numero entre corchetes es el numero de job. Puede
obtener una lista de todas las tareas con el comando jobs

Los comandos bg y fg permiten actuar en estos jobs tomando como parámetro su número. Se
ejecuta el comando bg en un job parado para iniciarlo de nuevo en un segundo plano. Se vuelve a
iniciar el job 2 en segundo plano

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 76

Capitulo Nº 7

TEMAS

Administración de Usuarios y Grupos

OBJETIVOS

Al finalizar el capitulo el alumno podrá

Crear, modificar y eliminar usuarios desde la Shell

Crear, modificar y eliminar grupos desde la Shell

Administrar las contraseñas de los usuarios

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 77

Administración de usuarios
Identificación y autenticación:

La identificación consiste en saber quién es quién para determinar los permisos del usuario se
conecta. Se identifica un usuario mediante un login.

La autenticación consiste en aportar la prueba de quienes somos mediante una clave compartida
entre el usuario y el sistema, solo conocen ellos. Se autentica el usuario mediante una contraseña

Los usuarios:

Un usuario es la asociación de un nombre de conexión “el login”. Todo usuario cuenta con un UID
y al menos un GID

- UID -> id de usuario


- GID -> id de grupo

Los UIDs y los GIDs suelen ser únicos. El UID identifica al usuario a lo largo de su conexión. Se
utiliza para el control de sus derechos y de los procesos que ha iniciado, dentro de la tabla de los
procesos son los UID y GID, y no los logins

Un usuario dispone de los siguientes atributos:

- Un nombre de usuario (login)


- Una contraseña
- Un UID
- Un GID
- Una descripción
- Un directorio de conexión
- Una Shell de conexión

Los grupos:

Cada usuario forma parte de al menos un grupo. Un grupo también tiene su identificador GID que
siempre acompaña al usuario para controlar sus privilegios. Un usuario puede formar parte de
varios grupos en este caso hay que distinguir el grupo primario de los secundarios

El comando id permite conocer la información esencial sobre un usuario: uid, gid, grupos
secundarios

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 78

Las contraseñas:

Las contraseñas permiten autenticar a los usuarios. Deben ser los bastante complejas para que no
se puedan descubrir fácilmente, pero lo bastante intuitivas como para que se pueda recordar. Las
contraseñas están cifradas y no son directamente legibles bajo su forma cifrada por el usuario con
el fin de que nadie pueda descifrarlas.

Los Ficheros:

- /etc/passwd :

Contiene la lista de los usuarios del sistema local. Cualquier usuario puede leerlo. La
información que contiene es pública y útil tanto para el sistema como para los usuarios se
compone de 7 campos:

Campo 1 : el nombre de usuario


Campo2 : si hay una x, se coloca la contraseña en /etc/shadow
Campo 3 : UID
Campo 4 : GID
Campo 5 : Comentario o descripción
Campo 6 : el directorio personal del usuario
Campo 7 : Shell de conexión. También puede ser un comando que prohíbe la conexión

- /etc/group:

Contiene la definición de los grupos de usuarios, se compone de cuatro campos:

Campo 1 : nombre de grupo


Campo 2 : contraseña asociada
Campo 3 : GID
Campo 4 : lista de usuarios que forman parte de este grupo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 79

- /etc/shadow:

En este fichero se coloca las contraseñas cifradas de los usuarios, contiene toda la
información son respecto a las contraseñas y su validez de tiempo, se componen de nueve
campos:

Campo 1 : el login
Campo 2 : contraseña cifrada
Campo 3 : número de días desde el 01/01/1970 al último cambio de contraseña
Campo 4 : número de días sin poder cambiar la contraseña ( 0 se puede cambiar en
cualquier momento )
Campo 5 : número de días a partir de los cuales se debe cambiar la contraseña
Campo 6 : número de días antes del vencimiento de la contraseña durante los cuales
se debe avisar al usuario
Campo 7 : número de días después del vencimiento de la contraseña tras los cuales se
desactiva la cuenta
Campo 8 : número de días desde el 01/01/1970 hasta el momento que se desactivo la
cuenta
Campo 9 : reservado

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 80

Creación de usuarios

Sintaxis:

useradd <opciones> usuario

Opciones:

Opción Descripción
-u Especifica el UID
-g Especifica el grupo primario del grupo
-G Especifica grupos adicionales
-c Especifica un comentario
-s Especifica el Shell
-d Especifica el directorio personal

Ejemplo: creando un usuario llamado usuario

Cambiando o asignando una contraseña:

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 81

Administración de Contraseñas
Es posible modificar los campos de /etc/shadow con el parámetro passwd.

Sintaxis:
passwd <opciones> usuario

Opciones:

Opción Descripción
-l Bloquea una cuenta
-u Desbloquea la cuenta bloqueada
-n <valor> Duración de vida mínima en días de la contraseña
-x <valor> Duración de vida máxima en días de la contraseña
-w <valor> Número de días antes de avisar
-i <valor> Periodo de gracia antes de la desactivación si ha vencido la contraseña

En el siguiente ejemplo se ha modificado la cuenta user de la siguiente manera

Debe esperar 3 días después de la inserción de una nueva contraseña para poder
cambiarla
Su contraseña es válida 30 días
Se le avisa 5 días antes de que deba cambiar la contraseña
Si no cambia la contraseña después de 30 días, dispone de 7 días antes de que sea
bloqueada

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 82

El comando chage permite hacer algo parecido al comando passwd, a diferencia que es
interactivo.

Sintaxis:

chage <opciones> usuario

Opciones:

Opción Descripción
-m Mindays: equivale a passwd -n
-M Maxdays: equivale a passwd -x
-d Fecha de Ultima modificación de la contraseña (desde el 01/01/1970)
-E Fecha de vencimiento de la contraseña (desde el 01/01/1970)
-I Inactive: equivale a passwd -i
-W Warndays: equivale a passwd -w
-l Lista detalle del usuario

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 83

Modificación de cuentas de usuarios


Para modificar una cuenta de usuario use el comando usermod, utiliza la misma sintaxis y las
mismas opciones que useradd.

Sintaxis:

usermod <parametros> usuario

Opciones:

Opción Descripción
-L Bloqueo de la cuenta, como passwd -l
-U Desbloqueo de la cuenta, como passwd -u
-u <UID> Modifica el UID asociado al login

Eliminar cuentas de usuario


El comando userdel suprime un usuario. Por defecto no se suprime el directorio personal. Para ello
debe pasar la opción -r

Sintaxis:

userdel -r usuario

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 84

Gestión de Grupos

Al igual que los usuarios, los grupos tienen un nombre y un número (GID). Los grupos locales se
definen en / etc / group

Grupos principales

- Cada usuario tiene exactamente un grupo primario.


- Normalmente, el grupo principal es propietario de los archivos nuevos que son creados
por el usuario.
- Normalmente, el grupo principal de un usuario recién creado es un grupo con el mismo
nombre

Grupos suplementarios

- Los usuarios pueden ser miembros de varios grupos.


- Los usuarios que son miembros de grupos locales adicionales se enumeran en el último
campo de la entrada de grupo en /etc /group

Creación:

groupadd nomgrupo

Suprimir:

groupdel grupo

Agregar grupos Secundarios:

usermod -aG nuevogrupo usuario

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 85

Gestión de usuarios y grupos desde la interfaz grafica


1. Ir a Sistema -> Administración -> usuarios y grupos

2. ¿Cómo creas una nueva cuenta de usuario?

Click en Añadir usuario

Llenar los campos solicitados

3. ¿Cómo cambiar la contraseña?

Seleccionar el usuario en cuestión

Seleccionar Propiedades -> Datos de usuario

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 86

4. ¿Cómo ajustar los atributos de contraseñas?

Propiedades de usuario -> información de contraseña

Activar el check de Activar expiración de contraseña

5. ¿Cómo bloquear y desbloquear cuentas de usuario?

Propiedades de usuario -> Información de cuenta

Activar el check de Activar expiración de cuenta

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 87

6. ¿Cómo cambiar la afiliación de un usuario a un grupo?

Propiedades de usuario -> Grupos

Selecciono el o los grupos que deseo que pertenezca el usuario

7. ¿Cómo elimino una cuenta de usuario?

Gestor de usuarios
Seleccionamos la cuenta del usuario
Click en borrar

8. ¿Cómo crear grupos?

Gestor de usuario y grupos


Click en añadir grupo

9. ¿Cómo Elimino un grupo?

Gestor de usuarios
Seleccionamos el nombre del grupo
Click en borrar

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 88

Practica: Administración de usuarios y grupos

Crear una cuenta de usuario con los siguientes atributos

- Usuario = Practica

- Nombre Completo = Joe Practica

- Contraseña = practice

Crear una cuenta de usuario con los siguientes atributos

- Usuario = pepito

- Nombre Completo = pepe pepito

- Contraseña = pepito

Crear un grupo suplementario llamado pggroup cuyo GID es 30000

Crear un grupo suplementario llamado badgroup

Agregar al usuario practica el grupo suplementario pggroup

Modificar la contraseña de student a password

Modificar la contraseña de student para que la contraseña caduque en 30 días

Bloquear al usuario practica para que no pueda iniciar sesión

Eliminar el usuario pepito

Eliminar el grupo badgroup

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 89

Capitulo Nº 8

TEMAS

Permisos de Acceso a ficheros

OBJETIVOS

Al finalizar el capitulo el alumno podrá

Verificar y Modificar los permisos de ficheros

Asignar una máscara para los permisos por defecto

Asignar Permisos Especiales a los ficheros

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 90

Usuarios, Grupos, Otros


El acceso a los archivos de los usuarios es controlado por el permiso del archivo. El sistema de
permisos de ficheros de Linux es simple y flexible, lo que hace que sea fácil de entender y aplicar
para manejar casos de permisos fácilmente.

Los directorios y archivos tienen sólo tres categorías de permisos para los usuarios. El archivo es
propiedad de un usuario, normalmente el usuario que creó el archivo. El archivo también es
propiedad de un solo grupo, por lo general el grupo principal del usuario que creó el archivo, pero
esto se puede cambiar.

Los diferentes permisos se pueden establecer para el usuario propietario, grupo propietario, y
para todos los demás usuarios del sistema que son no el usuario o un miembro del grupo
propietario.

También hay sólo tres tipos de permisos que se aplican: leer, escribir y ejecutar.
Estos permisos afectan el acceso a los archivos y directorios de la siguiente manera:

Permiso Efecto en archivos Efecto en directorios

r (lectura) Contenido se puede leer Contenido se puede leer

w (escritura) Contenido se puede escribir El directorio puede ser


modificado

x (ejecución) Pueden ser ejecutado por Se puede acceder al directorio


comandos (depende de los permisos
de los archivos en el directorio)

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 91

Test: Conceptos de Usuario, Grupo y Otros

Grupo Usuarios
lucy lucy,ricardo
ricky ricky,ricardo
ethel ethel,mertz
fred fred,mertz
Responder en base a los Siguientes atributos
-rw-rw-r-- lucy lucy lfile1
-rw-r--rw- lucy ricardo l file2
-rw-rw-r-- ricky ricardo rfile1
-rw-r----- ricky ricardo rfile2

Con respecto a lfile1:

lucy puede ver el contenido de lfile1

- Verdadero
- Falso

fred puede modificar contenido de lfile1

- Verdadero
- Falso
fred puede eliminar lfile1

- Verdadero
- Falso
ricky puede modificar contenido de lfile1

- Verdadero
- Falso
fred puede eliminar lfile1

- Verdadero
- Falso

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 92

Grupo Usuarios
lucy lucy,ricardo
ricky ricky,ricardo
ethel ethel,mertz
fred fred,mertz
Responder en base a los Siguientes atributos
-rw-rw-r-- lucy lucy lfile1
-rw-r--rw- lucy ricardo l file2
-rw-rw-r-- ricky ricardo rfile1
-rw-r----- ricky ricardo rfile2

Con respecto a lfile2:

ricky puede ver el contenido de lfile2

- Verdadero
- Falso

ricky puede modificar contenido de lfile2

- Verdadero
- Falso
ricky puede eliminar lfile2

- Verdadero
- Falso
ethel puede ver el contenido de lfile2

- Verdadero
- Falso
ethel puede modificar contenido de lfile2

- Verdadero
- Falso

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 93

Grupo Usuarios
lucy lucy,ricardo
ricky ricky,ricardo
ethel ethel,mertz
fred fred,mertz
Responder en base a los Siguientes atributos
-rw-rw-r-- lucy lucy lfile1
-rw-r--rw- lucy ricardo l file2
-rw-rw-r-- ricky ricardo rfile1
-rw-r----- ricky ricardo rfile2

Con respecto a rfile1:

lucy puede ver el contenido de rfile1

- Verdadero
- Falso

lucy puede modificar contenido de rfile1

- Verdadero
- Falso
fred puede ver el contenido de rfile1

- Verdadero
- Falso
fred puede modificar contenido de rfile1

- Verdadero
- Falso

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 94

Grupo Usuarios
lucy lucy,ricardo
ricky ricky,ricardo
ethel ethel,mertz
fred fred,mertz
Responder en base a los Siguientes atributos
-rw-rw-r-- lucy lucy lfile1
-rw-r--rw- lucy ricardo l file2
-rw-rw-r-- ricky ricardo rfile1
-rw-r----- ricky ricardo rfile2

Con respecto a rfile2:

lucy puede ver el contenido de rfile2

- Verdadero
- Falso

lucy puede modificar contenido de rfile2

- Verdadero
- Falso
fred puede ver el contenido de rfile2

- Verdadero
- Falso
fred puede modificar contenido de rfile2

- Verdadero
- Falso

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 95

Modificando Permisos de Acceso


Para modificar los permisos de los ficheros se utiliza el comando chmod, existen dos métodos para
modificar lo permisos: mediante símbolos o mediante un sistema octal de representación de
permisos. Solo el propietario de un fichero puede modificar sus permisos, el usuario root puede
modificar los permisos de cualquier usuario

Sintaxis:

chmod modificaciones Fichero

Modificaciones:

Modificación Ejemplo

Mediante Símbolos: chmod g+rw fichero

Mediante Sistema Octal chmod 754 fichero

Mascara de Permisos:

En el momento de la creación de un fichero, se les asigna automáticamente unos permisos. Por lo


general suelen ser 644(rw-r--r--) para archivos y 755(rwxr-xr-x) para directorios, estos permisos
son controlados por una máscara de permisos el funcionamiento es el siguiente:

- Por defecto, se crean todos los archivos con los permisos 666

- Por defecto, se crean todos los directorios con los permisos 777

- Luego se aplica la mascara

- La máscara es la misma para directorios y archivos

- Una máscara no modifica los permisos de los ficheros existentes, sino solamente los de los
ficheros creados a partir de este momento

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 96

Modificando Propietario y Grupo


Para cambiar de dueño y de grupo a un fichero se puede lograr con los comandos chown (change
owner) y chgrp (change group) respectivamente

Sintaxis:

chown usuario fichero

chgrp grupo fichero

Al especificar el nombre de usuario o grupo, el sistema comprueba primero su existencia.

Usted puede especificar un UID o GID en este caso, el sistema no efectuara comprobación alguna.

Es posible modificar con un solo comando el propietario y el grupo a la vez:

chown usuario:grupo fichero

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 97

Permisos Especiales
SUID y GUID

Es posible establecer permisos de acceso especiales para ficheros ejecutables.

Un ejemplo sencillo es el programa passwd, que permite cambiar la contraseña. Si se ejecutara el


comando con los permisos de un usuario clásico, passwd no podría abrir y modificar los ficheros
/etc/shadow y /etc/passwd:

El comando chmod permite ubicar el SUID y GUID

Modificación Ejemplo

Mediante Símbolos: chmod u+s comando


chmod g+s comando

Mediante Sistema Octal chmod 4755 comando


chmod 2755 comando

STICKY BIT

Permite asignar un criterio protector contra borrado del contenido de un directorio.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 98

Capitulo Nº 9

TEMAS

Niveles de Ejecución

Montaje de Dispositivos

fstab

OBJETIVOS

Al finalizar el capitulo el alumno podrá

Montar Dispositivos al Sistema

Entender la Importancia del archivo fstab

Entender los modos de ejecución del Sistema

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 99

Función de init
El programa init es el primer proceso iniciado y el ultimo que se para dentro del sistema y tiene
como misión ejecutar todas las demás tareas. El papel inicial de init consiste en iniciar y parar
todos los servicios.

Una vez iniciado el sistema y ejecutados los servicios, init sigue activo para gestionar los cambios
de estado de los procesos que controla y de los niveles de ejecución.

El proceso init es el padre de todos los procesos tiene el PID 1. Su configuración esta en el archivo
/etc/inittab. Si este archivo está corrompido o es inutilizable, abra que arrancar el sistema en
modo Single y arreglarlo.

Es un archivo central del sistema.

Nivel de ejecución

Un nivel de ejecución corresponde al estado en el cual se encuentra Unix/Linux. Init controla este
estado y Cada estado dispone de su propia configuración.

Nivel Descripción

0 Apaga la Maquina

1 Modo monousuario

2 Multiusuario sin red ni consola

3 Multiusuario con red y consola

4 Igual a 3

5 Multiusuario igual a 3 mas entorno grafico

6 Reinicia el Sistema

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 100

Administración de servicios

Control manual de servicios

Mediante Scripts:

Se pueden iniciar los servicios en todos los casos individualmente o con la ayuda de herramientas
según la distribución.

Cada servicio presente en /etc/init.d acepta al menos dos parámetros:

- start: el servicio se inicia


- stop: el servicio se para
- restart: detiene e inicia el servicio
- status: estado del servicio
Si desea iniciar o parar el servicio

Mediante el comando service:

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 101

Modificación de los niveles de ejecución

El comando chkconfig permite activar o desactivar servicios por nivel de ejecución.

Sintaxis:

chkconfig [opcion] servicio

Ejemplos:

Parada del sistema

Varios métodos permiten parar correctamente una maquina Linux. Init gestiona las paradas con
los niveles 0 y 6

- runlevel 0: apaga el ordenador

- runlevel 6: reinicia el ordenador

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 102

El comando shutdwon

Shutdwon llama a init, pero acepta parámetros adicionales.

Sintaxis:

shutdown [parámetro] [plazo] [mensaje]

Parámetros:

Parámetro Acción

-k No apaga el sistema, sino que manda el mensaje de apagado a todos

-r Reiniciar

-h Parada

-c Cancela shutdown

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 103

Montaje de Dispositivos

mount

El comando mount permite acceder a los periféricos de tipo bloque (las particiones) donde se
encuentra el sistema de ficheros. El comando mount sitúa el sistema de ficheros a montar en un
punto del sistema principal llamado punto de montaje.

Sintaxis:

mount -t typefs -o opciones periférico puntodemontaje

Montaje por periférico

Ejemplo: Tengo una partición sda4 es un nuevo sistema de ficheros ext4, Montar el sistema de
ficheros mencionado al directorio /HD4

El comando mount, cuando es ejecutado sin parámetros, muestra todos los detalles en los
sistemas de ficheros actualmente montados (periféricos, sistema de ficheros, punto de montaje,
opciones)

Montaje por Label

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 104

Montaje por UUID

Cada sistema de ficheros dispone de un identificador único llamado UUID: Universal Unique
Identifier, el UUID no cambia y mount encuentra el sistema de ficheros, en teoría es más posible
que dos sistemas de ficheros lleven la misma etiqueta

Volver a Montar un sistema de ficheros

Si se necesita modificar alguna de las opciones de montaje, no se requiere desmontar y volver a


montar después el sistema de ficheros. Si modifica una opción de montaje del sistema de ficheros
puede pasar la opción remount para que se tome en cuenta enseguida la modificación.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 105

Desmontar Sistema de ficheros

umount

El comando umount desmonta el sistema de ficheros del punto de montaje

Si un sistema de ficheros se está utilizando, umount no funcionara debe asegurarse que ningún
proceso se esté ejecutando sobre este sistema de ficheros

El comando lsof determina que proceso está utilizando un fichero del punto de montaje en el
momento de iniciar el comando. En el ejemplo hay un proceso que lo está ejecutando el usuario
student

Como administrador, se puede forzar la parada de manera violenta al proceso ejecutándose en el


punto de montaje el comando fuser –km /HD4 expulsa al usuario que está ejecutando procesos
en el punto de montaje.

De esta manera el punto de montaje queda libre para desmontar el sistema de ficheros.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 106

Montar un CD/DVD e Imágenes ISO

CD/DVD:

Los CD-Rom,DVD-Rom se montan como cualquier otro sistema de ficheros a diferencia que el
sistema de ficheros para este caso es iso9660.

Para la Imagen se inserto un CD-Rom y el sistema le asigno el archivo de dispositivo /dev/sr0

Imágenes ISO:

Un fichero ISO es una imagen del contenido de un CD o DVD. Es un sistema de ficheros iso9660 en
un fichero. Es posible utilizar esta imagen como periférico con ayuda de la opción loop. Esta
opción consiste en relacionar la imagen como periférico en modo loopback y conseguir así que las
herramientas los traten como un disco más.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 107

/etc/fstab

El archivo fstab contiene una configuración estática de las diferentes opciones de montaje
de los sistemas de ficheros. Este fichero es invocado siempre que se inicia el sistema, ya
que es aquí donde se especifican los periféricos y sus puntos de montaje. Contiene seis
campos.

Tabla:

Periférico punto_de_montaje typefs opciones dump fsck

Los espacios o tabulaciones separan los campos

Campo Descripción

periférico El periférico a montar

punto de montaje El directorio a donde se montara el periférico

typefs El tipo de sistema de archivos

opciones Opciones de montaje separados por una coma

dump Frecuencia de volcado para las herramientas de copias de seguridad

fsck Frecuencia de verificación del FS. 0=ignorar, 1=en primero, 2=en


segundo. Se verifican en paralelo los sistemas que tienen el mismo
numero

Montar todo

Si ha realizado modificaciones en el archivo fstab, como el añadido varios puntos de


montaje, puede en vez de montar cada sistema de ficheros uno por uno, montarlos todos
con el comando siguiente: mount –a

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 108

Capitulo Nº 10

TEMAS

Particiones y sistema de archivos

OBJETIVOS

Al finalizar el capitulo el alumno podrá

Administrar las particiones

Asignar sistema de archivos

Agregar espacio al swap

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 109

Partición Simple y Sistema de archivos


Lista de particiones:

fdisk es un utilitario para administrar las particiones. Permite listar la tabla de particiones como
también permite comenzar a crear particiones nuevas al disco duro.

La siguiente imagen muestra la lista de particiones existentes del dispositivo sda

Crear una nueva Partición

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 110

Una vez creada la partición tenemos que asignarle un sistema de archivos (ext4)

La partición creada ya cuenta con un sistema de archivos el siguiente paso es montar esta
partición a un directorio para poder trabajar sobre ella.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 111

Montar la partición de manera persistente

- Agregar al archivo /etc/fstab

- Cargar la tabla de sistemas de ficheros

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 112

Test: Agregar un nuevo sistema de archivos

1. Identificar si el disco tiene espacio libre

___________________________________________________________________

2. Crear una nueva partición en el disco

___________________________________________________________________

3. Actualización de la tabla de particiones del kernel

___________________________________________________________________

4. Crear un sistema de archivos en la partición

___________________________________________________________________

5. Determinar el UUID del sistema de archivos

___________________________________________________________________

6. Crear un punto de montaje

___________________________________________________________________

7. Agregue una entrada al archivo de la tabla del sistema

___________________________________________________________________

8. Monte el sistema de archivos

___________________________________________________________________

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 113

Administrando el espacio de swap

1. Crear una nueva partición, modificar el tipo a 0x82 “Linux Swap”

2. mkswap /dev/sdax

3. verificar el UUID de /devsdax

4. Agregar a /etc/fstab

UUID=uuid swap swap defaults 0 0

5. swapon -a -> active el Nuevo espacio de swap

swapon -s -> muestra el estado de swap

swapoff /dev/sdax -> desactiva la partición x del swap

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 114

Capitulo Nº 11

TEMAS

LVM

OBJETIVOS

Al finalizar el capitulo el alumno podrá

Implementar Almacenamiento LVM

Gestionar el tamaño de discos LVMs

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 115

Componentes de LVM

Volumen físico: una partición marcada como espacio utilizable para LVM. Marcado
con 0x8e como tipo de partición.

Grupo de volúmenes: una colección de uno o más volúmenes físicos. Puede ser
pensado como un disco virtual.

El volumen lógico: se puede considerar como una partición virtual del grupo de
volúmenes. Esto se formatea con un sistema de archivo y se utiliza como una partición

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 116

Implementando Almacenamiento LVM desde la CLI


Preparar el Volumen Físico

1. Crear una partición y setear el tipo a 0x8e Linux LVM

2. pvcreate /dev/sdx

Creando el Grupo de Volumen

1. vgcreate vgname /dev/sdax

Crear y Usar un nuevo volumen lógico

1. lvcreate -n lvname -L +2G vgname ; crea un nuevo volumen lógico de 2GB


de tamaño

2. mkfs -t ext4 /dev/vgname/lvname ; se le da un formato al volumen lógico

3. mkdir /data

4. agregar una entrada a el archivo /etc/fstab

/dev/mapper/vgname-lvname /data ext4 defaults 1 2

5. Ejecutar el comando mount -a

Revisar el estado de LVM

1. pvdisplay /dev/sdax

2. vgdisplay vgname

3. lvdisplay /dev/vgname/lvname

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 117

Implementación de un Volumen Lógico (ejemplo)

Esquema inicial de disco

1. Crear una partición de 10 GB y prepararla para configurar LVM

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 118

2. Creando el Volumen Físico

3. Crear el grupo de volumen llamado vgstorage

4. Crear el Volumen Lógico inicial de 5GB además de llamarlo lvstorage y además


darle formato ext4

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 119

5. Mapeando la partición LVM de manera persistente

Información de las particiones LVM

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 120

Extendiendo Volumen Lógico

PASOS:

1. Verificar el tamaño actual del file system

- df -h

2. Verificar las extensiones físicas disponibles

- vgdisplay vgname

3. Extendiendo el volumen lógico aumentándole 2 GB mas

- lvexten -L +2G /dev/vgname/lvname

4. redimensionar el tamaño del directorio donde se monto

- resize2fs -p /dev/vgname/lvname

5. Verificar el Nuevo tamaño del file system

- df -h

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 121

Extendiendo Volumen Lógico (ejemplo)

1. Verificando el estado actual del file system

2. Verificando las extensiones físicas disponibles

3. Extender el Volumen Lógico a 3GB mas

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 122

4. Redimensionar el directorio donde se monto el volumen lógico

5. Verificar el estado de las extensiones físicas disponibles

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 123

Reduciendo un volumen lógico

PASOS:

1. Desmontar el volumen lógico

- umount /directorio

2. Verificar la estructura de los datos del file system

- fsck -f /dev/mapper/vgname-lvname

3. Redimensionar el volumen lógico al tamaño que deseamos

- resize2fs -p /dev/mapper/vgname-lvname 1G

4. Reduciendo el volumen lógico

- lvreduce -L 1G /dev/mapper/vgstorage-lvstorage

5. Recargar la lectura del archive fstab

- mount -a

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 124

Reduciendo un volumen lógico (ejemplo)

1. Verificar información del volumen lógico

2. Desmontar el volumen lógico y Verificar la estructura de los datos del file system

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 125

3. Redimensionar el volumen lógico a 4 GB

4. Reduciendo el volumen lógico

5. Recargar la lectura del archive fstab

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 126

Extendiendo Un Grupo de Volumen

PASOS:

1. Preparar una nueva partición

- Usar fdisk para crear la partición y editar el tipo de partición a 0x8e

- pvcreate /dev/sdax

2. Agregar el Volumen físico al Grupo de Volumen Existente

- vgexten vgname /dev/sdax

3. use vgdisplay para confirmar que el volumen creció

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 127

Extendiendo Un Grupo de Volumen (ejemplo)

1. Revisamos el Volumen lógico existente

Como observamos este Volumen lógico ya no puede seguir creciendo. Entonces


aumentaremos mas disco

Verifiquemos las particiones del disco

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 128

Creamos una nueva partición de un tamaño de 15GB del tipo 8e

Creamos el volumen físico para esta nueva partición

2. Agregar el Volumen físico al Grupo de Volumen Existente

3. Verificamos el nuevo estado del las extensiones físicas disponibles

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 129

LVM usando herramienta gráfica

Volumen físico: una partición marcada como espacio utilizable para LVM. Marcado
con 0x8e como tipo de partición.

Grupo de volúmenes: una colección de uno o más volúmenes físicos. Puede ser
pensado como un disco virtual.

El volumen lógico: se puede considerar como una partición virtual del grupo de
volúmenes. Esto se formatea con un sistema de archivo y se utiliza como una
partición.

Conceptos: Ordene del 1 al 4 el orden correspondiente para crear LVMs

__ Crear Volúmenes Físicos

__ Crear Particiones Físicas

__ Crear volumen lógico

__ Crear grupo de volúmenes

Usando herramienta para gestionar LVMs

Ir a Sistema -> Administración -> Administrador de volúmenes lógicos

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 130

Pasos para configurar LVM

1. Crear una partición

a. Crear una nueva partición vacía

b. Editar la partición y modificar el type a 0x8e

2. Inicializar la nueva partición como un Volumen físico

a. Abrimos la herramienta de para LVMs

b. Seleccionamos la partición modificada en el paso 1

c. Damos click en inicializar entidad

d. Confirmar de que los datos que se encuentran serán borrados

3. Creando el Grupo de Volúmenes

a. Click en crear nuevo volumen

b. Especifique el nombre del grupo de volumen

c. Click en ok

4. Creando el Volumen Lógico

a. Expanda el nuevo grupo de volumen

b. Seleccione vista lógica

c. Click en el botón crear nuevo volumen lógico

d. Especificamos el nombre

e. Especificamos el tamaño

f. Especificamos las propiedades

g. Click en ok

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 131

Extendiendo el grupo de volúmenes

Pasos:

1. Click en agregar para un grupo de volumen existente

2. Seleccione el grupo de volumen que queremos extender

3. Click en agregar

Extendiendo volúmenes lógicos

Pasos:

1. Abrir la herramienta para gestión de LVM

2. Seleccionar el volumen lógico a extender

3. Click en editar propiedades

4. Ajustar el tamaño

5. Click en ok

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 132

Capitulo Nº 12

TEMAS

Estableciendo conectividad con la red

OBJETIVOS

Al finalizar el capitulo el alumno podrá

Entender los conceptos de IPV4


Configuración de red

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 133

Concepto de IPV4
Dirección de 32 bits representados en 4 octetos de forma decimal, la estructura de una dirección
IP es la siguiente:

Ejemplo de Direcciones IP

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 134

Test: Concepto de IPV4

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 135

Configuración de red

Abrir la aplicación NetworkManager y configurar la red

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 136

Configurando el direccionamiento desde los archivos de configuración:

- Archivo de configuración de IP: /etc/sysconfig/network-scripts/ifcfg-eth0

- Archivo de configuración de puerta de enlace y hostname: /etc/sysconfig/network

- Archivo de configuración de DNS: /etc/resolv.conf

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 137

Capitulo Nº 13

TEMAS

Shell Script

Uso de cron

OBJETIVOS

Al finalizar el capitulo el alumno podrá

Crear y ejecutar scripts

Automatizar las tareas

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 138

Programación Shell

Estructura de un script

El Shell no es solamente un simple interprete de comandos, sino que dispone de un verdadero


lenguaje de programación en particular, con gestión de variables, control de flujo y bucles,
operaciones sobre las variables, funciones y mas

Se agrupan todas las instrucciones y los comandos dentro de un script. Durante su ejecución cada
línea se leerá una por una y se ejecutara. Para crear un script solo creamos un archivo con las
siguientes características:

Ejemplo:

backup.sh o simplemente backup

Una vez creado, podemos editar el archivo usando un editor de texto (gedit, vim, nano, emacs,
etc) En la primera línea del script se debe indicar que shell que vas a usar (/bin/bash/

#! /bin/bash

Los valores #! Que se insertan al inicio de un script se le conoce con el nombre de Sha Bang, Su
función es indicarle al sistema que se trata de un conjunto de comandos para que sean
Interpretados.

Para introducir comentarios se debe poner # seguido del comentario.

Ejecución de script

Para ejecutar un script primero debemos asegurarnos de que tenga permiso de ejecución si no los
tuviera tendríamos que asignar permisos con chmod

chmod 755 script .sh Para el usuario propietario


chmod 777 script .sh Para cualquier usuario

Una vez hecho todo lo anterior, procedemos a ejecutar el script.

Los script pueden ejecutarse de las siguientes maneras:

./nombredelscript.sh

sh nombredelscript.sh

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 139

Editando un Script

Variables:

NombreVariable=variable

Ejemplo:

!#/bin/bash

variable1 = “Linux Modulo III”


variable2 = 24
echo “Mostrando la variable 1 =$variable1”
echo “Mostrando la variable 2 = $variable2”

Para sustituir comandos por variables:

mi_linux=`comando_linux`

Ejemplo:

#! /bin/bash
clear
lee=`cat /etc/passwd`
echo -e "Mostrando el archivo passwd \n$lee"

Leer por teclado variables:

read [opciones] nombre_variable1 nombre_variable2 nombre_variableN

Opciones:

-n num_car : Número máximo de caracteres que puedes introducir por teclado


-p “frase” : Te muestra por pantalla una frase para tu saber que debes introducir

Ejemplo:

#!/bin/bash
clear
read -p "Ingrese Nombre Distribución: " nombre
echo "El Valor de La Variable Ingresada es $nombre"

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 140

Comparaciones de cadenas alfanuméricas

Operador Verdad si:

cadena1 = cadena2 cadena1 es igual a cadena2

cadena1 != cadena2 cadena1 no es igual a cadena2

cadena1 < cadena2 cadena1 es menor que cadena2

cadena1 > cadena 2 cadena1 es mayor que cadena 2

-n cadena1 cadena1 no es igual al valor nulo (longitud


mayor que 0)

-z cadena1 cadena1 tiene un valor nulo (longitud 0)

Comparación de valores numéricos

Operador Verdad si:

x -lt y x menor que y

x -le y x menor o igual que y

x -eq y x igual que y

x -ge y x mayor o igual que y

x -gt y x mayor que y

x -ne y x no igual que y

Para cálculos se usa la siguiente sintaxis

a=1
b=$((a+1)
echo “$b”
Resultado 2

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 141

Estructuras Condicionales

La estructura de una condición simple sería la siguiente:

Si la condición se cumple la secuencia entra a ejecutar las órdenes de then, en caso contrario
ingresan a ejecutar las órdenes dentro de else.

La estructura de una condición anidada sería la siguiente:

Ahora lo que hace es evaluar la condición, si es verdadera entra por el then, pero si no y se da el
caso de otra condición entraría por el elif, los elif no se cierran, solamente el fi final corresponde a
la apertura del if.

La condición es cualquier cosa que de un return (que devuelva) algo que sea 0 o Verdadero.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 142

Ejemplo 1:

El siguiente script Verifica que la ruta sea un directorio si es correcto mostrara un mensaje ES UN
DIRECTORIO en caso contrario mostrara un mensaje NO ES UN DIRECTORIO.

#!/bin/bash
clear
if `cd /tmp/directorio/ 2> /dev/null`
then
echo "Es Un Directorio"
else
echo "No es un directorio"
fi

Ejemplo 2:

El siguiente script evalúa la existencia de un usuario y grupo.

El script le pedirá que ingrese un usuario y un grupo y le mostrara en pantalla si el usuario existe o
no así como el nombre de grupo ingresado.

#!/bin/bash
read -p "Ingrese usuario: " user
read -p "Ingrese grupo: " grupo
if `grep -e "^$user" /etc/passwd > /dev/null`
then
if `grep -e "^$grupo" /etc/group > /dev/null`
then
echo "Existe Usuario y grupo"
else
echo "Existe Usuario pero Grupo no"
fi
elif `grep -e "^$grupo" /etc/group > /dev/null`
then
echo "No existe usuario pero grupo si"
else
echo "No existe usuario ni grupo"
fi

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 143

Condicionales Case

Se estructura de la siguiente manera:

El siguiente ejemplo sirve para comprobar lo que uno digite por teclado.

#! /bin/bash
clear
read -n 1 -p "Pulsa una tecla: " tecla
case $tecla in
[a-z,A-Z]) echo -e "\nHa introducido una letra";;
[0-9]) echo -e "\nHa introducido un numero";;
*) echo -e "\nHa introducido un caracter especial";;
esac

El siguiente ejemplo sirve para evaluar operaciones básicas de suma y resta.

#! /bin/bash
clear
num=0
echo "1. Suma "
echo "2. Resta "
read -n 1 -p "Introduce una opcion: " opcion
case $opcion in
1) echo -e "\n"
read -p "\nIngrese Numeros a Sumar: " num1 num2
num3=$(($num1+$num2))
echo "LA Suma es " $num3 ;;
2) echo -e "\n"
read -p "Ingrese Numeros a Restart: " num1 num2
num3=$(($num1-$num2))
echo "La diferencia es: $num3" ;;
*) echo "No has introducido ni un dos ni un uno" ;;
esac

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 144

Expresiones test

Estas son algunas de las más comunes:


Comprobación directorios:

-f /ruta/nombre Comprueba si es un fichero normal


-l /ruta/nombre Comprueba si es un enlace suave
-d /ruta/ Comprueba que existe el directorio
-x /ruta/nombre Comprueba si es un ejecutable
-u /ruta/nombre Comprueba si tiene activados los permisos suid
-g /ruta/nombre Comprueba si tiene activados los permisos sgid
-s /ruta/nombre comprueba que su tamaño es mayor a 0

Comprobación de cadenas:

“cadena” = “cadena2” Comprueba si son iguales


-z cadena Comprueba si está vacía
“cadena” != “cadena2” Comprueba que son diferentes

Comprobación de expresiones numéricas:

exp -eq exp2 Comprueba si son iguales


exp -ge exp2 Comprueba si exp >= exp2
exp -ne exp2 Comprueba si exp distinto de exp2
exp -gt exp2 Comprueba si exp > exp2
exp -le exp2 Comprueba si exp <= exp2
exp -lt exp2 Comprueba si exp < exp2

Para concatenar expresiones a evaluar:


-o OR
-a AND
! NOT

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 145

Uso de test

Ejemplo 1:

El siguiente script solicita 2 números y procederá a compararlos mostrando el resultado en


pantalla.

#! /bin/bash
clear
read -p "Introduce dos Numeros " num1 num2
if [ -z $num1 -o -z $num2 ]
then
echo "Debes introducir dos Numeros por favor"
elif [ $num1 -eq $num2 ]
then
echo "Los Numeros son iguales"
elif [ $num1 -gt $num2 ]
then
echo "El Numero $num1 es mayor que $num2"
elif [ $num2 -gt $num1 ]
then
echo "El Numero $num2 es mayor que $num1"
fi

Ejemplo 2:

El siguiente script solicita el nombre del directorio y un fichero y valida si no existe


aparece un mensaje si existe entonces buscara dentro de este directorio todas las
coincidencias de acuerdo al parámetro fichero.

#! /bin/bash
clear
read -p "Introduce directorio a buscar " dir
read -p "Nombre de fichero a buscar " nom
if [ ! -d $dir ]
then
echo "$dir no existe"
else
find $dir -name "$nom" -exec ls -dl '{}' \;
fi

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 146

Bucles While

Se usa para repetir un conjunto de comandos/instrucciones dependiendo de si se cumple o no la


condición. Las condiciones que se pueden poner en el while con el comando test, poniendo un
true (el while se crea un bucle infinito) o poner un comando con comillas invertidas. El break se
pone solo si quieres salir bruscamente del bucle.*

Sintaxis:

El siguiente script simulara una calculadora con operaciones básicas.

#! /bin/bash
clear
opcion=2
while [ $opcion -ne 5 ]
do
echo "1.suma"
echo "2.resta"
echo "3.multiplicacion"
echo "4.division"
echo "5.salir"
read -n 1 -p "Introduce una opcion " opcion
case $opcion in
1) read -p "Introduce el 1 numero " numero1
read -p "Introduce el 2 numero " numero2
echo "El resultado es `expr $numero1 + $numero2`" ;;
2) read -p "Introduce el 1 numero " numero1
read -p "Introduce el 2 numero " numero2
echo "El resultado es `expr $numero1 - $numero2`" ;;
3) read -p "Introduce el 1 numero " numero1
read -p "Introduce el 2 numero " numero2
echo "El resultado es `expr $numero1 '*' $numero2`" ;;
4) read -p "Introduce el 1 numero " numero1
read -p "Introduce el 2 numero " numero2
echo "El resultado es `expr $numero1 '/' $numero2`" ;;
esac
done

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 147

Bucles For:

El bucle se ejecuta para cada uno de los valores que toma la variable en esa lista.

Sintaxis:

Break: Rompe el bucle y no da más opción a que la variable se ejecute.


Continue: Salta al siguiente valor de la lista.

Ejemplo 1:

El siguiente script lanza un ping a las pcs cuyas ips son 192.168.7.4, 192.168.7.107 y
192.168.7.108

#! /bin/bash
clear
for ips in 4 107 108
do
ping -c 2 192.168.7.$ips
done

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 148

Ejercicios:

1. Crear un script que genere el backup del directorio /mnt.

2. Crear un script que solicite el directorio a crear backup y que proceda a crearlo.

3. Crear un script que solicite el directorio a crear backup y el directorio donde se


guardara el backup y que proceda a crearlo.

4. Crear un script que guarde los backups por fecha.

5. Crear un script que me cree los usuarios pepito, juanito, jose y que además la
contraseña inicial debe ser “password”.

6. Crear un script que cree usuarios a partir de un archivo(en este archivo están todos
los usuario a crear) además las contraseñas deben ser los nombres de usuarios (ej.
si el usuario pepito la contraseña también debe ser pepito).

7. Del ejercicio 6 si la contraseña es el nombre de usuario además cuando un usuario


se logee por primera vez el sistema le debe solicitar una nueva contraseña.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 149

Automatización de Tareas

El Servicio CRON

Cron es un servicio básico de los sistemas GNU/Linux (demonio se llama crond).


La función básica de cron es la de ejecutar tareas programadas para un determinado
momento, y por un usuario con los privilegios necesarios para poder programarlas.

Funciona con la ayuda de una tabla llamada crontab.

Crontab es un fichero de texto que se puede editar con un simple editor de texto.
Utilice el comando crontab con objeto de editar la tabla con el parámetro -e

El formato de un registro de crontab es el siguiente:

Minutos Horas Día del mes Mes Día de semana Comando


1 2 3 4 5 6

Minutos: 0 – 59
Horas: 0 - 23
Días: 1 - 31
Meses: 1 - 12
Días del Semana: 0 - 6 (0 es domingo)

Ejemplo 1:

Ejecución de du –h todos los días, todo el año, cada cuarto de hora.

crontab –e
0, 15, 30,45 * * * * du –h

Ejemplo 2:

Ejecución del comando ls todos los días laborables a las 17 horas.

crontab –e
0 17 * * 1-5 du –h

Listar las tareas activas de cron


crontab -l

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 150

Suprimir las tareas de cron

crontab -r

Editar las tareas de cron de un usuario en particular

crontab -u user

La configuración general para el sistema se encuentra en /etc/crontab

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:


# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
#| | | | |
# * * * * * user-name command to be executed

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 3 * * * root run-parts /etc/cron.daily
30 3 * * 0 root run-parts /etc/cron.weekly
30 20 1 * * root run-parts /etc/cron.monthly

Cada hora y un minute se ejecutan los scripts que están en /etc/ cron.hourly
Todos los días a las 03:02 se ejecutan los scripts que están en /etc/cron.daily
Todos los Domingos a las 03:30 se ejecutan los scripts que están en /etc/cron.weekl
Los 1 de cada mes a las 20:30 se ejecutan los scripts que están en /etc/cron.monthly

Control de acceso

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 151

Ud. Puede controlar el acceso al comando crontab por usuario con los ficheros
/etc/cron.allow y /etc/cron.deny

- Si cron.allow esta creado, solo usuarios explícitamente indicados pueden utilizar


cron.

- Si cron.allow no está creado, cron comprueba la presencia de un fichero


cron.deny, todos los usuarios que no estén en él están autorizados a utilizar cron.
Si esta vacio, cualquier usuario está autorizado a utilizar cron

- Si no existe ninguno de los ficheros, solo root puede utilizar cron

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 152

Capitulo Nº 14

TEMAS

TCP Wraper y Xinetd.

OBJETIVOS

Al finalizar el capítulo el alumno podrá.

Controlar los servicios locales.

RECURSOS

Una Computadora Personal.

Material Educativo.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 153

TCP Wraper y Xinetd

Los TCP wrappers proporcionan control de acceso a una variedad de servicios. La mayoría
de los servicios modernos de redes, tales como SSH, Telnet y FTP, hacen uso de TCP
wrappers, que escuchan entre las peticiones entrantes y el servicio solicitado.
Los beneficios ofrecidos por TCP wrappers son mejorados cuando se usan en conjunto con
xinetd, un súper servicio que proporciona acceso adicional, conexión, enlace, redirección y
control de la utilización de recursos.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 154

TCP Wraper

Es una Herramienta que sirve para monitorear y controlar el tráfico que llega al servidor
evaluando el acceso o denegación del usuario a conectarse.

El paquete TCP wrapers está instalado por defecto en la mayoría de sistemas GNU/Linux y
brinda control de acceso basado en host a los servicios de red.

Una manera de determinar si el servicio de red ha sido enlazado con la librería de tcp
wraper es ejecutando la siguiente sentencia:

Funcionamiento

Cuando se realiza un intento de conexión a un servicio compilado por TCP wrapper, el


servicio tcpd (programa que administra tcpwrapers), hace referencia a los archivos de
acceso a host (/etc/hosts.allow y /etc/hosts.deny) para determinar si el cliente tiene
permitido o denegado conectarse a tal servicio.

Cuando un servicio encapsulado por TCP recibe una petición de cliente, realiza los
siguientes pasos:

1. Hace referencia a /etc/hosts.allow El servicio encapsulado por TCP analiza


secuencialmente el archivo /etc/hosts.allow Si encuentra una regla que coincide,
permite la conexión. Si no, se pasa a la siguiente etapa 2.

2. Hace referencia /etc/hosts.deny El servicio encapsulado por TCP analiza


secuencialmente el archivo /etc /hosts.deny Si encuentra una regla que coincide,
rechaza la conexión. Si no, se concede el acceso al servicio.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 155

Archivos de configuración

Sintaxis:

<daemon list>: <client list> [: <option> : option ….]

<daemon list>: Lista separada por comas de los nombres de procesos (no de servicios).

<client list>: Lista separada por comas de nombres de máquinas, direcciones ip, patrones o
comodines especiales.

<option>: una acción opcional una lista separada con puntos y comas de acciones realizadas
cuando la regla es activada.

Ejemplo:

En este ejemplo estamos denegando el acceso al servicio sshd de las maquinas pertenecientes al
dominio cetis.edu.pe

El servicio tcpd almacena sus registros en el archivo /var/log/secure

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 156

Patrones:

La siguiente es una lista de patrones comunes para entradas en el campo cliente:

- Dominio:

ALL: .dominio.com

- Dirección IP que termina con un punto

ALL: 10.50.

- Red / Mascara

ALL: 10.50.42.0/255.255.255.128

- Asterisco (*)

ALL: *.cetis.edu.pe

Operadores:

- EXCEPT

ALL: .cetis.edu.pe EXCEPT instructor.cetis.edu.pe


ALL EXCEPT vsftpd: 10.50.42.

En el segundo ejemplo en el archivo hosts.allow , clientes de la red 10.50.42.x puede utilizar


todos los servicios excepto para FTP.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 157

Campo de opciones

- Control de Acceso:
Los campos de opciones también permiten a los administradores permitir o denegar hosts en una
sola regla, añadiendo la directiva permit o deny como la opción final.

Por ejemplo, las dos reglas siguientes permiten conexiones SSH desde 10.50.42.11, pero niegan
conexiones desde 10.50.42.12

sshd: 10.50.42.11:permit
sshd: 10.50.42.12:deny

- Comandos Shell:

En el siguiente ejemplo, los clientes intentando acceder al servicio sshd desde el dominio
cetis.edu.pe son registrados discretamente en un archivo especial:

sshd: .cetis.edu.pe: spawn /bin/echo `/bin/date` de %h >> /var/log/ssh.log:allow

En el siguiente ejemplo, a los clientes intentando acceder al servicio sshd desde el dominio
cetis.edu.pe se les envía un mensaje de aviso:

sshd:.cetis.edu.pe:twist /bin/echo "421 Acceso denegado."

Ampliaciones Descripción

%a IP del Cliente

%A IP del Servidor

%c Información del cliente(usuario-IP)

%d Nombre de proceso del servidor

%h Nombre o IP de la Maquina cliente

%H Nombre o IP de la Maquina servidor

%p ID del proceso Servidor

%u Nombre de usuario cliente si esta disponible

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 158

Xinetd (extended internet daemon)

Es un servicio que administra la conectividad basada en internet. Xinetd es una extensión


más segura que el servicio de internet inetd.

Controla el acceso a un subconjunto de servicios de red, también ofrece servicio de


control de acceso y la posibilidad de habilitar servicios de red basándose en el tiempo.
Puede limitar la cantidad de servicios que se ejecutan, y contiene un sistema de
protección contra escaneo e puertos.

Funcionamiento

Cuando un cliente intenta conectarse a un servicio de red controlado por xinetd, este
recibe la petición y verifica por cualquier regla de control de acceso (hosts.allow y
hosts.deny). Si se permite el acceso, xinetd verifica que la conexión sea permitida bajo sus
propias condiciones. Luego comienza una instancia del servicio solicitado y pasa el control
de la conexión al servicio solicitado. Una vez que es establecida la comunicación, xinetd no
interfiere más con la comunicación entre el cliente y el servidor.

El archivo de configuración se encuentra en la siguiente ruta:

/etc/xinetd.conf

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 159

Opciones:

- Log_type: Tipo de registro que vamos a usar. Pueden ser dos:

SYSLOG: envía el registro al proceso syslogd

log_type=SYSLOG authpriv

FILE: envía el registro al archivo que especifiquemos

log_type= FILE /var/log/xinetd.log

- log_on_failure: registra en caso de falla de conexión

HOST: Dirección IP del cliente

- Log_on_success: Registra en caso de conexión exitosa.

PID: PID del proceso servidor


HOST: Direccion IP del cliente
DURATION: Duracion de la sesión
EXIT: Extado de salida del proceso

- only_from: Clientes autorizados para acceder a los servicios


- cps: Máximo de conexiones entrantes y tiempo de desactivación del servicio en
caso supere este numero
- instances: Máximo número de procesos servidores simultáneos
- per_source: Máximo número de conexiones entrantes de un mismo cliente.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 160

El directorio /etc/xinetd.d/

En este directorio se encuentran los archivos de configuración para cada servicio administrado por
xinetd, los nombres de los archivos aquí dentro se correlacionan al servicio.
El formato de los archivos en /etc/xinetd.d/ utilizan sintaxis parecida al archivo xinetd.conf

Los servicios administrados por xinetd suelen tener nombres descriptivos, para la identificación del
archivo de configuración del servicio a configurar por ejemplo, el archivo telnet hace referencia al
servidor telnet cuyas opciones son las siguientes:

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 161

- flags: La opción REUSE reutiliza el socket de conexión


- socket_type: stream(TCP), dgram(UDP)
- wait: Un solo hilo(yes) o multiples hilos(no)
- user: Usuario bajo el cual se ejecuta el proceso
- only_from: Clientes autorizados para acceder a los servicios
- server: Ruta del proceso servidor que atenderá al cliente
- log_on_failure: En caso de falla registrar el evento
- disable: El servicio estará desactivado(yes) o activado(no)

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 162

Capitulo Nº 15

TEMAS

Servicio HTTP (Apache)

OBJETIVOS

Al finalizar el capítulo el alumno podrá

Instalar apache

Aplica directivas de autenticación y seguridad

Reconoce y configura los hosts virtuales

Reconoce y configura soporte SSL

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 163

Servidor WEB Apache

1. Instalación del servidor Apache

Primero verificamos que el paquete correspondiente está instalado

En este caso ya está instalado el paquete httpd, si no devolviera ningún resultado, eso
quiere decir que no está instalado si fuera el caso se instala con el siguiente comando:

2. Parada/Reinicio

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 164

3. Configuración

El archivo de configuración principal se encuentra en /etc/httpd/conf/httpd.conf controla


los parámetros generales del servidor web.

La configuración de los diferentes módulos están en la ubicación /etc/httpd/conf.d/, los


módulos están presentes en /etc/httpd/modules/

Los registros (logs) están referenciados al directorio logs que es un acceso directo a
/var/log/httpd

El directorio run contiene el archivo httpd.pid, cuyo contenido es el ID del proceso padre
httpd

4. Directivas generales

httpd.conf está compuesto por tres bloques fundamentales:

- Directivas generales: Todos los parámetros que se establecen en esta sección son
globales para el funcionamiento del servidor, por lo que no admiten estar dentro
de ninguna directiva

- Directivas de funcionamiento

- Hosts virtuales

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 165

Directivas generales:

En esta sección del archivo de configuración de httpd encontramos algunos parámetros


importantes:

- ServerTokens: Delimita la información que mostrara el servidor sobre los componentes


que están ejecutando. Sus posibles valores son: OS, Minimal, ProductOnly y Full

- ServerRoot: Ubicación de los archivos de configuración

- PidFile: Archivo cuyo contenido será el ID del proceso padre httpd

- TimeOut: Tiempo máximo de espera de una solicitud

- KeepAlive: Utilizar conexiones persistentes

- MaxKeepAliveRequest: Número máximo de usuarios concurrentes si KeepAlive está en on

- KeepAliveTimeout: Tiempo de espera en segundos entre peticiones del usuario

- Modulos Multiproceso (MPM): son los responsables de iniciar los procesos del servidor y
de servir las solicitudes vía procesos hijos

MPM prefork: Cada proceso hijo tiene solamente un hilo donde cada hijo puede
hacerse cargo de una solicitud

MPM worker: cada proceso hijo puede tener un número determinado de hilos, donde
cada hilo puede hacerse cargo de una solicitud

- Listen: Puertos en los cuales escucha el servidor apache, por defecto el puerto es 80

- LoadModule: Directiva que sirve para cargar modulos que incluyen distintas
funcionalidades. La sintaxis es:

LoadModule nombre_modulo ubicación_fichero

- Include: Permite que se incluyan otro archivos de configuración

- User: Nombre del usuario del proceso

- Group: Nombre de grupo del proceso

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 166

Directivas de funcionamiento:

- ServerAdmin: Email del webmaster

- ServerName: Nombre del Servidor

- UseCanonicalName: Si está en on, apache va responder utilizando la información de


ServerName y Port, y no la opción mandada por el cliente ejemplo: un
http://192.168.1.250 se transforma en http://dominio.com

- DocumentRoot: Ubicación de las páginas web a publicar (html,php,etc)

- Directory: Crea un contenedor que se utiliza para cercar un grupo de directrices de


configuración que solo se aplican a un directorio y sus subdirectorios.

Podemos encontrar la siguiente información

Options FollowSymLinks: El servidor sigue los vínculos simbólicos, otro valor para
Options puede ser Indexes: si no encuentra ninguna página index, se mostrara el
contenido del directorio

AllowOverride None: Puede o no ignorar cualquiera de las opciones por las


declaraciones en un archivo .htaccess por defecto, no se le permite

Order: Controla el orden en el cual las directrices allow y deny son evaluadas

- Allow: Declara cual cliente puede acceder a un directorio

- Deny: Declara a quien se le niega el acceso.

- DirectoryIndex: Pagina por defecto que entrega el servidor

- AccessFileNAme: Denomina el archivo que el servidor utilizara para información de


control de acceso en cada directorio.

- CustomLog: Ubicación del archivo de registro de acceso y el tipo de formato del registro

- ErrorLog: Ubicación del arhivo de registro de errores

- LogLevel: Cantidad de información a guardar sus posibles valores son:


warm,debug,info,warn,error,crit, alert y emerg

- LogFormat: Formato en el que se guardaran los registros tales como fecha, hora o
dirección IP

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 167

Hosts virtuales

Se refiere a hacer funcionar más de un sitio web (tales como www.utp.edu.pe y


www.cetis.edu.pe.com) en una sola máquina. Los sitios web virtuales pueden estar
"basados en direcciones IP", lo que significa que cada sitio web tiene una dirección
IP diferente, o "basados en nombres diferentes", lo que significa que con una sola
dirección IP están funcionando sitios web con diferentes nombres (de dominio). El
hecho de que estén funcionando en la misma máquina física pasa completamente
desapercibido para el usuario que visita esos sitios web

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 168

Configuración de Autenticación de Usuarios

En el siguiente ejemplo validaremos el acceso a un usuario para que se conecte a nuestro sitio web
ubicado en /var/www/html/prueba el usuario a conectarse a este sitio deberá autenticarse.

Pasos:

Crear el archivo de contraseñas para apache

Configurar el servidor para que solicite una contraseña y el usuario que desea otorgarle el
permiso. Abrir el archivo de configuración principal de apache

Probando la configuración desde un cliente.

Permitir el acceso a un grupo de usuarios

Pasos:
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 169

Crear un archivo que contenga el nombre de los grupos y lo usuarios

En /etc/httpd/conf/httpd.conf

Para este ejemplo solo los usuarios que pertenecen al grupo1 podrán acceder.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 170

Máquinas Virtuales Basadas en IP

Cada sitio web tiene una dirección IP diferente en el mismo equipo

Verificamos las IPs

En la configuración en la sección Virtual Host

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 171

Máquinas Virtuales Basadas en Nombres

Con una sola dirección IP funcionan varios sitios web con diferentes nombres

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 172

Encapsulado de Servicio WEB – SSL

El Modulo mod_ssl es un módulo de seguridad para el servidor web. Añade la


característica al servidor web de tener comunicaciones encriptadas.

Usando un servidor normal (sin SSL), las comunicaciones entre el navegador y el servidor
se dan en texto plano, lo cual puede ser interceptado y leído por un usuario no autorizado.

El archivo de configuración para agregar soporte de SSL al servidor web está ubicado en:

/etc/httpd/conf.d/ssl.conf

Para implementar un servidor web con soporte SSL se debe tener en cuenta los siguientes
paquetes:

Examinando Certificados X.509

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 173

Configuración de SSL:

Paso I:

Verificar los paquetes necesarios para WEB-SSL

Paso II:

Ubicar la ruta donde ubicaremos nuestro certificado de seguridad.

Abrimos el archivo de configuración SSL:

/etc/httpd/conf.d/ssl.conf

Buscamos las líneas siguientes para conocer las rutas donde poner nuestro certificado
privado y publico

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 174

Laboratorio: Servidor Web

1. Configurar un servidor web con 2 interfaces de modo que las paginas publicadas en
/var/www/html/test1 sean vista a través de la primera interfaz por su puerto 80 y
la publicación de páginas en /var/www/html/test2 son vistas a través de la
segunda interface en su puerto 81(Crear subinterfaces si las PCs solo tuvieran una
sola tarjeta de red)

2. Del Ejercicio 1 modificar los puertos de escucha ahora ambas interfaces deben
escuchar por el puerto 80

3. Del ejercicio 1 modificar con lo siguiente, esta vez solo desde una interfaz de red se
publicaran las 2 rutas. (Virtual host)

4. Las paginas publicadas en la ruta /var/www/html/test2 se deben acceder


autenticándose

5. Genere un par de llaves para un servidor web seguro y aplique la respectiva


configuración para el funcionamiento

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 175

Capitulo Nº 16

TEMAS

Servidor FTP

OBJETIVOS

Al finalizar el capítulo el alumno podrá

Instala y Configura un Servidor FTP

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 176

Servidor FTP

El protocolo FTP (File Transfer Protocol) es utilizado para la copia de archivos de una
maquina a otra, también podemos subir archivos al servidor.

Modos del servicio FTP:

Modo Activo:

El Servidor Establece el canal de datos por el que transmitirá la información

Modo Pasivo:

El Cliente Establece el canal de datos por el que transmitirá la información

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 177

Instalación y configuración

- Verificar la instalación del paquete vsftpd

- El archivo de configuración se encuentra en la siguiente ruta

- Contenido del directorio vsftpd

ftpusers: Lista de usuarios que no están autorizados para ingresar al servidor


FTP

user_list: Si la opción userlist_enable están en yes se comportara igual que


ftpusers

vsftpd.conf: archivo principal de configuración

vsftpd_conf_migrate.sh: script para actualizar los archivos de configuración al


nuevo formato

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 178

Editando el archivo de configuración

anonymous_enable: Al estar activada, se permite que usuarios anónimos se


conecten.

local_enable: Al estar activada los usuarios locales pueden conectarse al


sistema.

write_enable: Cuando esta activada, se permiten los comandos FTP que


pueden modificar el sistema de archivos

local_umask: Especifica el valor de umask para la creación de archivos.

anon_upload_enable: Cuando se usa con la directriz write_enable, los usuarios


anónimos pueden cargar archivos al directorio principal

anon_mkdir_write_enable: Cuando se activa junto a write_enable, los


usuarios anónimos pueden crear nuevos directorios dentro de un directorio
que tiene permisos de escritura.

userlist_enable: si esta en YES deniega el acceso a usuarios en mencionados en


el archivo /etc/vsftpd/user_list

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 179

Laboratorio: Servidor FTP

Antes de comenzar con el laboratorio crear los siguientes usuarios con sus respectivas
contraseñas:

Soporte, desarrollo, redes, student y visitor

Además estos usuarios deberán ser configurados para que no accedan a la shell del sistema.

Instalar y configurar un FTP para los siguientes enunciados:

1. El usuario anónimo puede descargar archivos, subir archivos y crear directorios en el


servidor(/var/ftp/test1) y los usuarios del sistema no tienen acceso al ftp

2. El acceso al FTP deberá ser por autenticación de usuarios, el usuario anónimo no debe
poder conectarse al servicio FTP

3. En el ejemplo anterior los usuarios: los usuarios soporte y redes no deben acceder al FTP

4. Enjaular a todos los usuarios menos a student

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 180

Capitulo Nº 17

TEMAS

Servidor NFS

OBJETIVOS

Al finalizar el capítulo el alumno podrá

Instala y Configura un Servidor NFS

Configura y mapea Clientes NFS

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 181

Servidor NFS

El Sistema de Ficheros NFS (Network File System) o Sistema de ficheros de red permite
compartir todo o parte de un sistema de ficheros destinado a clientes NFS.

Para iniciar, detener y reiniciar el servicio NFS:

Compartir un directorio por NFS:

Para compartir un directorio por NFS se edita el siguiente archivo:

Ejemplo de configuración:

Compartir el directorio /var/ftp/pub por NFS para la red 192.168.10.0

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 182

Opciones

ro: solo lectura

rw: lectura y escritura

no_root_squach: el root remoto equivale al root local

root_squach: si el root se conecta al directorio compartido, su id será reemplazado por u


id anónimo

Herramientas:

exportfs –r: refresca la lista de directorios compartidos después de modificar el archivo


de configuración

exportfs –v: lista de directorios compartidos

Cliente NFS

Montar el directorio compartido de un servidor NFS a un directorio Local del cliente.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 183

Capitulo Nº 18

TEMAS

Servidor DHCP

OBJETIVOS

Al finalizar el capítulo el alumno podrá

Instala y Configura un Servidor DHCP

Configura clientes DHCP

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 184

Servidor DHCP
El servicio DHCP (Dynamic Host Configuration Protocol), Permite a los anfitriones de una
red solicitar y recibir información de configuración (Dirección IP, Gateway, DNS, etc.)

Un cliente del servicio no tiene información de red disponible en el momento del inicio.
Debe encontrar solo un servidor DHCP. Para ellos hace una petición a la dirección
255.255.255.255 con una trama que contiene sus datos como la MAC y los datos deseados
(DHCPDISCOVER).

Se manda el broadcast a todos los host de la red local. Cuando el servidor DHCP detecta la
solicitud efectúa también un broadcast con la información básica que desea el cliente
DHCP (DHCPOFFER), el Cliente establece una primera configuración, luego pide
confirmación de la IP (DHCPREQUEST), el DHCP confirma (DHCPACK).

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 185

Configuración de servidor DHCP


- Instalación del paquete

- El archivo de configuración

- Inicio, parada y reiniciada del servicios

- Las direcciones IP asignadas se colocan en la siguiente ruta

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 186

Pasos para la configuración del Servidor DHCP


1. Ingresamos al archivo de configuración

2. Hacemos una copia ejemplo para usarla como plantilla

3. Editamos el archivo copiado a la configuración que deseamos:

La siguiente configuración del servidor DHCP brinda como direccionamiento lo


siguiente:

Gateway: 10.50.42.1
DNS: 10.31.1.21 y 10.31.1.22
Rango de IPs asignables es desde la 10.50.42.12 hasta la 10.50.42.15

4. En la siguiente configuración se asigna una IP específica a un cliente cuya dirección


MAC esta la configuración

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 187

En la siguiente configuración el servidor identifica a un cliente cuya dirección MAC


sea 00:0c:29:9ª:68:5c si se identifica como tal el servidor le asignara la IP
10.50.42.8

5. Configuración en el cliente

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 188

Capitulo Nº 19

TEMAS

Inter operatividad con Windows

OBJETIVOS

Al finalizar el capítulo el alumno podrá

Interactúa con máquinas Windows

Instala y Configura un Servidor SAMBA

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 189

Servicio SAMBA

Samba es un conjunto de servidores que implementan los protocolos SMB/CIFS y


NetBIOS/WINS para Unix. Su utilización más famosa es la de compartir recursos entre
Windows y Unix.

Samba se compone de 2 servicios:

smbd: Servidor SMB/CIFS

- Autenticación y autorización

nmbd: Servidor de nombres NetBIOS

- Recorrido de los recursos

- Servidor WINS

Cliente SAMBA

La herramienta smbclient es un tipo de cliente FTP para el protocolo SMB. Las rutas de
acceso tienen la forma //maquina/compartido

Ejemplo:

Conectarse a las PC Windows cuya IP es 10.50.42.11 y listar sus carpetas compartidas:

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 190

- Conectarse al directorio compartido smb

- Listar el contenido

- Copiar el archivo documento.txt a nuestro sistema Linux

- Enviar un archivo de Linux a windows

- Montar el directorio compartido a un directorio en Linux

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 191

Servidor SAMBA

- Comprobando el paquete samba

- Archivo de configuración

En el archivo de configuración por defecto hay 3 secciones:

[global] : ajustes genéricos y globales del servidor

[homes]: compartición de los directorios personales de los usuarios

[printers]: compartición de las impresoras

- Cada recurso compartido dispone de su propia sección en smb.conf, el siguiente


ejemplo veamos como compartir /mnt/test con el nombre de share

share: el nombre del recursos compartido

comment: comentario

path: la ruta al recurso

public: el recurso está a disposición del invitado

browseable: el recurso aparece en el directorio de recursos compartidos


________________________________________________________________________________
Administración y Seguridad en GNU/Linux 192

writable: el recurso esta accsible e modo lectura y escritura

printable: la impresora esta compartida

group: nombre del grupo por defecto para la conexión

valid users: nombre de los usuarios autorizados a acceder a este recurso

read only: el recurso esta solo modo lectura para todos

guest ok: ninguna contraseña es necesaria para acceder al recurso. En este caso se
utilizara la cuenta invitado por defecto

guest only: el recurso esta accesible únicamente para a los invitados

- Métodos de autenticación:

Samba propone varios métodos de autenticación definidos en la sección global

user: método por defecto, el acceso al conjunto de las comparticiones de un


servidor se efectua mediante la autenticación de un usuario

share: no es necesario autenticarse al servidor para ver los recursos


compartidos

server: en este método, samba intentara validar el usuario y la clave pasándolo


a otro servidor SMB

domain: en este modo samba intentara validar usuario y clave pasándolo a un


windows PDC

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 193

Configuración de samba con autenticación share

Editamos el archivo de configuración

En la siguiente configuración el servidor samba compartirá su directorio /mnt/compartido


y cualquier usuario puede acceder al directorio.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 194

Configuración de samba con autenticación user

Ahora asignaremos las contraseñas samba a los usuarios del sistema

Probamos

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 195

Capitulo Nº 20
TEMAS

Servidor DNS

OBJETIVOS

Al finalizar el capitulo el alumno podrá

Instala un Servidor DNS

Configura DNS Caché

Configura DNS Master

Configura DNS Slave

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 196

Servidor DNS

Un servidor DNS contiene una tabla que asocia los nombres de hosts de un dominio con
las direcciones IP correspondientes. Cuando un cliente tiene el nombre de un servidor,
como un servidor Web, pero necesita encontrar la dirección IP, envía una solicitud al
servidor DNS en el puerto 53. El cliente utiliza la dirección IP del servidor DNS configurada
en los parámetros DNS de la configuración IP del host.

Cuando el servidor DNS recibe la solicitud, verifica la tabla para determinar la dirección IP
asociada con ese servidor Web. Si el servidor DNS local no tiene una entrada para el
nombre solicitado, realiza una consulta a otro servidor DNS dentro del dominio. Cuando el
servidor DNS encuentra la dirección IP, esa información se envía nuevamente al cliente. Si
el servidor DNS no puede determinar la dirección IP, se agotará el tiempo de espera de la
respuesta y el cliente no podrá comunicarse con el servidor Web. El DNS permite referirse
a sistemas basados en IP empleando nombres.

Jerarquía del servicio DNS

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 197

Tipos de resolución de nombres

Existen 2 tipos de consultas que un cliente puede hacer a un servidor DNS

Recursiva:

- El cliente le pregunta al servidor DNS Local

- Si el servidor DNS Local sabe la respuesta, la envía al cliente

- Si no sabe la respuesta, el servidor DNS Local pregunta a otro servidor y


cuando recibe la respuesta la reenvía al cliente

Iterativa

- El cliente le pregunta al servidor DNS Local

- Si el servidor DNS Local sabe la respuesta, la envía al cliente

- Si no sabe retorna la dirección de un servidor al que hay que preguntar

- El cliente sería el encargado de preguntarle a este nuevo servidor

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 198

Herramientas para clientes DNS

nslookup

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 199

dig

host

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 200

Registros de los archivos de zonas

Cada archivo de zona contienes registro de recursos

Los registros de de recursos se requieren para proporcionar servicios de nombres a la


zona y van en sus propias líneas individuales

Tipos de registros más frecuentes:

A: Registro de dirección que especifica una dirección IP que se debe asignar a


un nombre

CNAME: Registro del nombre canónico también conocido como alias, enlaza un
nombre con otro

MX: Registro de Mail Exchange, el cual indica a donde debería ir el correo


enviado a un espacio de nombres particular controlado por esta zona

NS: Registro NameServer, el cual anuncia los nombres de servidores con


autoridad para una zona particular

PTR: Registro puntero, diseñado para apuntar a otra parte del espacio de
nombres

SOA: Registro de recursos Start Of Authority, que declara información


importante de autoridad relacionada con espacios de nombres al servidor

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 201

Modos de funcionamiento de un DNS

El servidor DNS bind admite tres modos de funcionamiento:

- Servidor DNS maestro

- Servidor DNS esclavo

- Servidor DNS caché

Servidor DNS maestro:

En este modo de funcionamiento, nuestro servidor se comporta como un auténtico


servidor DNS para nuestra red local. Atenderá directamente a las peticiones de resolución
de direcciones pertenecientes a la red local y reenviará a servidores DNS externos las
peticiones del resto de direcciones de Internet.

Servidor DNS esclavo:

Un servidor esclavo actuará como un servidor espejo de un servidor DNS maestro.


Permanecerá sincronizado con el maestro. Se utilizan para repartir las peticiones entre
varios servidores aunque las modificaciones solo se realicen en el maestro.

Servidor DNS Caché

Cuando recibe una petición de DNS por parte de un cliente de nuestra red, la trasladará a
un DNS maestro que puede estar en nuestra red o fuera, almacenará en una memoria
caché la respuesta y a la vez la comunicará a quien hizo la petición. Si un segundo cliente
vuelve a realizar la misma petición, como nuestro servidor tiene la respuesta almacenada
en su memoria caché, responderá inmediatamente sin tener que cursar la petición a
ningún servidor DNS de Internet.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 202

Instalación y configuración de un servidor DNS

Instalación

Los archivos de configuración están ubicados en /etc

Ubicación de los archivos de zonas

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 203

Configuración DNS Caché

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 204

Configuración DNS Maestro

Editar el archivo /etc/named.rfc1912.zones

Dentro de /var/named crear los archivos de zonas configurados

Podemos copiar un archivo ejemplo cambiándole de nombre

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 205

Editamos los archivos:

vi /var/named/db.prueba.com.pe

vi /var/named/db.192.168.7

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 206

Configuración DNS Esclavo

En el servidor Maestro editamos lo siguiente en /var/named.rfc1912.zones

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 207

En el servidor Esclavo editamos /var/named.rfc1912.zones

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 208

Capitulo Nº 21

TEMAS

Servidor de correo electrónico

OBJETIVOS

Al finalizar el capítulo el alumno podrá

Instalar y Configurar postfix

Instalar y configurar dovecot

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 209

Servidor de Correo Electrónico

Protocolos Utilizados:

Los servidores de correo trabajan bajo la arquitectura de cliente/servidor. Para permitir


todo este proceso, existe una variedad de protocolos de red que permiten que diferentes
maquinas estén usando programas o navegadores para envío y recepción de correo
electrónico. Los protocolos que se son utilizados son los siguientes:

- SMTP
- POP3
- IMAP

Protocolo SMTP

SMTP (Simple Mail Transfer Protocol), proporcionan un mecanismo para transferir


correo fiable y eficientemente.

Funciona bajo un conjunto de reglas:

- Acepta mensaje de entrada.


- Comprueba direcciones de los mensajes.
- Si son direcciones locales, las almacenan el mensaje para después recuperarlo.
- Si son direcciones remotas envía el correo.

Un mensaje pasa a través de varias pasarelas SMTP antes de llegar a su destino final, en
cada parada es evaluado el mensaje, si el mensaje es suyo lo almacena sino lo envía a otro
SMTP hasta que encuentre su destino final. El protocolo SMTP trabaja sobre TCP y escucha
las peticiones por el puerto 25 y 465 modo seguro.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 210

Protocolo POP3

POP3 (Post Office Protocol), actualmente nos encontramos en la tercera versión de este
protocolo.

La ventaja principal que tiene este protocolo:

- Los mensajes se guardan en nuestra computadora.


- Permite leer el correo recibido sin estar conectado a la red.
- Liberamos espacio de nuestro buzón en el servidor de correo.

El protocolo POP3 trabaja sobre TCP y escucha las peticiones por el puerto 110 y 995
modo seguro.

Protocolo IMAP

IMAP(Internet Message Access Protocol), es un protocolo de red de acceso a mensajes


electrónicos almacenados en un servidor. Es más complejo que POP ya que permite
visualizar los mensajes de manera remota y no descargando los mensajes como lo hace
POP. La ventaja principal que tiene este protocolo son las siguientes:

- El correo no es descargado en la computadora.


- Cuando usamos clientes de correo en nuestra computadora solo baja cabeceras
de correo.
- El servidor retiene el correo hasta que el usuario lo elimine.
- Puede consultarse el correo desde diferentes computadoras

IMAP escucha las peticiones por el puerto 143 y 993 modo seguro

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 211

Funcionamiento de correo electrónico

El correo electrónico gira alrededor del uso de las casillas de correo electrónico. Cuando se
envía un correo electrónico, el mensaje se enruta de servidor a servidor hasta llegar al
servidor de correo electrónico del receptor. Más precisamente, el mensaje se envía al
servidor del correo electrónico llamado MTA(Mail Transport Agent -Agente de
Transporte de Correo) que tiene la tarea de transportarlos hacia el MTA del destinatario.
En la red, los MTA se comunican entre sí usando el protocolo SMTP, y por lo tanto se los
llama servidores SMTP o servidores de correo saliente tales como POSTFIX, SENDMAIL y
otros

Luego el MTA del destinatario entrega el correo electrónico al servidor del correo
entrante (llamado MDA, del inglés Mail Delivery Agent -Agente de Entrega de Correo), el
cual almacena el correo electrónico mientras espera que el usuario lo acepte. Existen dos
protocolos principales utilizados para recuperar un correo electrónico de un MDA:

- POP o IMAP

Para evitar que cualquiera lea los correos electrónicos de otros usuarios, el MDA está
protegido por un nombre de usuario llamado registro y una contraseña.

La recuperación del correo se logra a través de un programa de software llamado MUA


(Mail User Agent -Agente Usuario de Correo).

El MUA es un programa instalado en el sistema del usuario, se llama cliente de correo


electrónico (tales como Mozilla Thunderbird, Microsoft Outlook. Cuando se usa una
interfaz de web para interactuar con el servidor de correo entrante, se llama correo
electrónico.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 212

Instalación y configuración de postfix

Verificamos si el paquete está instalado:

Iniciar, detener y reiniciar el servicio:

El archivo de configuración

Antes de configurar el Servidor de correo debemos verificar si el DNS esta resolviendo


correctamente el registro MX

Editamos el archivo de configuración con los siguientes parámetros:

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 213

# Definir el nombre de anfitrión del sistema (hostname).


myhostname = mail.dominio.com
# Definir el dominio principal a gestionar.
mydomain = dominio.com
myorigin = $mydomain
# Definir que escuche las peticiones en todas las interfaces.
inet_interfaces = all
# Si se manejan más dominios de correo electrónico, añadirlos también.
mydestination = $myhostname, $mydomain, localhost.localdomain, localhost
# Definir tus redes locales, ejemplo asume que tu LAN es 192.168.1.0/24
mynetworks = 192.168.1.0/24, 127.0.0.0/8
# Si se van a manejar más dominios de correo electrónico, añadirlos también.
relay_domains = $mydestination

Iniciamos el servicio postfix

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 214

Instalación y configuración de dovecot

Instalamos el paquete:

Ingresamos al archivo de configuración de dovecot para habilitar POP3 e IMAP

Editamos la línea correspondiente:

Iniciamos el servicio dovecot

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 215

Configuración de Cliente de Correo

- Evolution

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 216

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 217

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 218

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 219

Configuración de Cliente thunderbird

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 220

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 221

Capitulo Nº 22

TEMAS

Servidor Proxy

OBJETIVOS

Al finalizar el capítulo el alumno podrá

Instala y Configura un Servidor Proxy

Instala y configura reportes

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 222

Servidor Proxy

Un servidor proxy es un equipo intermediario de una LAN para el acceso WEB.

Un servidor proxy puede utilizarse para registrar permitir o denegar el acceso a sitios en
internet, también permite acelerar la velocidad de navegación a internet almacenando
localmente las páginas más consultadas por los usuarios de la red LAN.

Funcionamiento de un proxy-cache

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 223

Instalación y configuración de squid

Administrando el estado del servicio:

Para efectos de no reiniciar el servicio en producción, podemos usar el parámetro reload,


antes podemos digitar el siguiente comando:

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 224

El archivo de configuración de squid:

Configuración Básica:

El archivo de configuración se divide en 3 secciones:

- Parámetros Generales
- Reglas
- Lista de acceso

http_port: configuramos el puerto de escucha de nuestro servidor squid

cache_mem: Establece la cantidad de memoria RAM dedicada para almacenar los datos más
solicitados

máximum_object_size: Utilizamos esta directiva para indicar el tamaño máximo para los objetos a
almacenar en la cache

visible_hostname: Es el nombre del equipo, el nombre debe ser igual a los siguientes ficheros
/etc/hosts y en /etc/sysconfig/network

cache_dir ufs: Con este parámetro establecemos el tamaño que deseamos que tenga la cache en
el disco – Para la configuración quiere decir lo siguiente: establecemos 700MB de cache con 16
directorios subordinados y 256 niveles cada uno

access_log: Especifica en que directorio se realizara el registro de accesos al squid

cache_log: Define en donde se almacenaran los mensajes del comportamiento de la cache de


squid

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 225

Configuración de las reglas

Existen varios tipos de ACLs a continuación veremos algunos ejemplos:

Regla src

Especifica una o varias direcciones IP de origen, un segmento de red con su máscara y


tener ips en un archivo de texto

Regla url_regex

Permite especificar expresiones regulares para comprobar dicha url, a este tipo de regla se
recomienda tener un archivo en cual agregamos todas la palabras que nosotros creamos
que importantes.

Regla dstdomain

La regla de tipo dstdomain se establecen permisos sobre dominios web de destino

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 226

Regla time

Esta regla estable un tiempo límite de conexión dentro de una semana. Parámetros por
días de la semana:

Parámetros Días
S Domingo
M Lunes
T Martes
W Miércoles
H Jueves
F Viernes
A Sábado

En el manejo de las horas se establece un horario de 24:00 hrs

Regla urlpath_regex

Esta regla permite la administración de descargas por medio de la extensión de los


archivos

Regla arp

Este tipo de regla nos permite administrar squid por medio de Mac Address

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 227

Configuración del acceso

El control de acceso define si se permite o deniega el acceso a las reglas para que
empecemos a crear el filtrado

Ejemplo de configuración

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 228

Capitulo Nº 23

TEMAS

Firewall (iptables)

OBJETIVOS

Al finalizar el capitulo el alumno podrá

Instala y Configura un Firewall usando iptables

Establece reglas de acceso a los servicios

RECURSOS

Una Computadora Personal

Material Educativo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 229

IPTables

Conocido también como netfilter, es el proceso de filtrado y control de paquetes de red


en el ingreso, desplazamiento, control y salida de la pila de redes dentro del Kernel.

Filtrado de paquetes

El kernel de Linux emplea la herramienta Netfilter para filtrar paquetes, lo que permite a
algunos de ellos ser recibidos o pasados mediante el sistema mientras detiene a otros.
Esta herramienta se incorpora en el kernel de Linux y tiene tres tablas o listas de reglas
incorporadas, así:

filter: La tabla predeterminada para manejar paquetes de redes.


Nat: Sirve para alterar paquetes que crean una nueva conexión y es utilizado
por Traducción de dirección de red (NAT).
Mangle: — Sirve para tipos específicos de alteración de paquetes.

Cada tabla tiene un grupo de cadenas incorporadas que corresponde a las acciones
realizadas en el paquete por netfilter.
Las cadenas incorporadas para la tabla de filter son las siguientes:

INPUT: Se aplica a los paquetes de redes destinados al host.


OUTPUT: Se aplica a los paquetes de red generados localmente.
FORWARD: Se aplica a los paquetes de redes enrutados a través del host.

Las cadenas incorporadas para la tabla nat son las siguientes:

PREROUTING: Altera los paquetes de redes a la llegada.


OUTPUT: Altera los paquetes de redes generados localmente antes de ser
enviados.
POSTROUTING: Altera los paquetes de redes antes de ser enviados.

Las cadenas incorporadas para la tabla de mangle son las siguientes:


INPUT: Altera los paquetes de redes destinados al host.
OUTPUT: Altera los paquetes de redes generados localmente antes de ser
enviados.
FORWARD: Altera los paquetes de redes enrutados a través del host.
PREROUTING: Altera los paquetes entrantes de red antes de ser enrutados.
POSTROUTING: Altera los paquetes de redes antes de ser enviados.
Cada paquete de redes recibido por o enviado desde el sistema de Linux está sujeto al
menos a una tabla. Sin embargo, el paquete puede estar sujeto a varias reglas dentro de
cada tabla antes de emerger al final de la cadena. La estructura y propósito de dichas
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 230

reglas pueden variar, pero suelen tratar de identificar el paquete que ingresa o sale de una
dirección IP determinada o de un grupo de direcciones, cuando usan un protocolo
determinado y un servicio de redes.

Las reglas de cortafuegos se guardan de forma predeterminada en los archivos /etc/


sysconfig/iptables o /etc/sysconfig/ip6tables

Cada cadena tiene una política predeterminada para ACCEPT, DROP, REJECT. Si ninguna
de estas reglas en la cadena se aplica al paquete, entonces el paquete es tratado de
acuerdo con la política predeterminada

Opciones de comandos para IPTables

Las reglas para filtraje de paquetes se crean mediante el comando iptables.


Los siguientes aspectos del paquete en su mayoría se utilizan como criterios:

Tipo de paquetes: Especifica el tipo de filtros de comandos.


Destino u origen de paquetes: Especifica los paquetes que filtra el comando
basado en la fuente o el destino del paquete.
Destino: Especifica la acción que se realiza en paquetes coincidente con los
criterios mencionados

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 231

Estructura de opciones de comandos de IPTables

Muchos comandos iptables tienen la siguiente estructura:

<nombre-tabla>: Especifica a qué tabla se aplica la regla. Si se omite, la tabla


filter se utiliza.
<comando>: Especifica la acción a realizar, tal como añadir o borrar una regla.
<nombre-cadena>: Especifica la cadena a editar, crear o borrar.
<parámetro> <opción>: Los parámetros y las opciones asociadas que
especifican cómo procesar el paquete que coincide con la regla.

La longitud y complejidad de un comando iptables puede cambiar significativamente,


según el propósito.

Por ejemplo, el comando para retirar una regla de una cadena puede ser muy corto:

iptables -D <nombre-cadena> <númeroline-number>

Opciones de comandos

Las opciones de comandos instruyen a iptables para realizar una acción específica.
Solamente una opción de comandos se permite por comando de iptables. A excepción del
comando de ayuda, todos los comandos se escriben en mayúsculas.
Los comandos iptables son los siguientes:

A: Añade la regla al final de la cadena especificada. A diferencia de la opción -I


descrita abajo, esta opción no lleva un argumento de entero. Siempre añade la
regla al final de la cadena especificada.
D <integer> | <rule>: Borra una regla en una cadena determinada por número
o por especificación de la regla. La especificación de la regla debe coincidir
exactamente con una regla existente.
F: Vacía la cadena seleccionada, la cual borra cada regla en la cadena. Si no se
especifica, este comando vacía todas las reglas de todas las cadenas.
I [<integer>]: Inserta la regla en una cadena especificada en el punto
determinado por un argumento de entero de usuario definido. Si no se
especifica ningún argumento, la regla se inserta en la parte superior de la
cadena.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 232

L: Lista todas las reglas en una cadena especificada después del comando. Para
listar todas las reglas en todas las cadenas en la tabla de filter predeterminada,
no especifique la cadena o la tabla.
P: Establece la política predeterminada para la cadena especificada, para que
cuando los paquetes atraviesen toda la cadena sin coincidir con una regla, sean
enviados al destino especificado, tal como ACCEPT o DROP

Opciones de parámetros de IPTables

Algunos comandos de iptables, entre ellos los utilizados para adicionar, adjuntar, borrar
insertar, o remplazar reglas dentro de una cadena particular, requieren varios parámetros
para construir una regla de filtraje de paquetes.

i — Establece la interfaz de redes, tal como eth0 o ppp0. Con iptables, este
parámetro opcional puede servir como cadenas de ENTRADA y REENVÍO
cuando se usan con la tabla de filter y la cadena de PREROUTING con las tablas
nat y mangle.

Este parámetro también soporta las siguientes opciones:

Signo de exclamación (!): Reversa la directiva, lo que significa que cualquier


interfaz se excluirá de esta regla.
El signo más (+): Un comodín utilizado para hacer concordar todas las
interfaces con la cadena especificada. Por ejemplo, el parámetro -i eth+
aplicaría esta regla a todas las interfaces de Ethernet pero excluiría cualquier
otra interfaz, tal como ppp0. Si se utiliza el parámetro -i sin especificar la
interfaz, entonces todas las interfaces se afectarán por la regla.
J: Salta al destino especificado cuando el paquete coincide con una regla
determinada.
- Los destinos estándar son ACCEPT, DROP

o: Establece la interfaz de red saliente para una regla. Esta opción es solamente
válida para las cadenas de OUPUT Y FORWARD en la tabla filter, y la cadena de
POSTROUTING en las tablas nat y mangle. Este parámetro acepta las mismas
opciones que las del parámetro de interfaz de redes (-i).
p <protocol> — Establece el protocolo IP afectado por la regla. Este protocolo
puede ser icmp, tcp, udp o all, o también puede ser un valor numérico que
represente alguno de estos protocolos o un protocolo diferente.
s: Establece el origen para un paquete determinado mediante la misma sintaxis
del parámetro de destino (-d).

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 233

Protocolo TCP
Estas opciones coincidentes están disponibles para el protocolo TCP (-p tcp):
--dport: Establece el puerto de destino para el paquete. Para configurar esta
opción, utilice el nombre del servicio de red (tal como www o smtp); un
número de puerto; o un rango de números de puerto.
Para especificar un rango de número de puertos, separe los dos números con
dos puntos (:). Por ejemplo:
-p tcp --dport 3000:3200.
El rango más amplio que se acepta es 0:65535.
Use el signo de exclamación (!) antes de la opción --dport para hacer coincidir todos los
paquetes que no usen ese servicio o puerto de red.
Para explorar los nombres y alias de los servicios de red y los números de puerto que
utilizan, consulte el archivo /etc/services.

La opción coincidente --destination-port es sinónima de --dport.

• --sport: Establece el puerto de origen mediante las mismas opciones como --dport. La
opción coincidente --source-port es sinónima de --sport.
• --syn: Se aplica a todos los paquetes TCP diseñados para iniciar la comunicación,
conocidos comúnmente como Paquetes SYN. Los paquetes que llevan carga útil de datos
no se tocan.
Use un signo de exclamación (!) antes de la opción --syn para que coincida con todos los
paquetes non-SYN.

Protocolo UDP
Estas opciones de coincidencia están disponibles para el protocolo UDP (-p udp):
--dport: Especifica el puerto de destino del paquete UDP, mediante el nombre
del servicio, el número de puerto o el rango de número de puertos. La opción
de coincidencia
--sport: Especifica el puerto de origen del paquete UDP, mediante el nombre
de servicio, el número de puerto o el rango de números de puerto.
La opción --source-port es sinónima de --sport.

Respecto a las opciones --dport y --sport, para especificar el rango de números de puerto,
separe los dos números con dos puntos (:). Por ejemplo: -p tcp --dport 3000:3200. El
rango más amplio aceptable es 0:65535.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 234

Protocolo ICMP
Las opciones a continuación están disponibles para el Protocolo de mensajes de Internet
(ICMP) (-p icmp):

--icmp-type: Establece el nombre o número de tipo ICMP para que coincida


con la regla. Para obtener una lista de nombres de ICMP válidos, escriba el
comando iptables -p icmp -h.

Opciones de comandos para IPTables

Para usar un módulo de opción de coincidencia, cargue el módulo por nombre mediante
-m <nombre-módulo>, donde <nombre-módulo> es el nombre del módulo.

Módulo de state: Permite coincidencias de estado.

El módulo state permite las siguientes opciones:

--state: corresponde a un paquete con los siguientes estados de conexión:


ESTABLISHED: El paquete coincidente con otros paquetes en una conexión
establecida.Necesita aceptar este estado para mantener una conexión entre el
cliente y el servidor.
NEW: El paquete coincidente crea una nueva conexión o hace parte de una
conexión de dos vías no vista anteriormente. Necesita aceptar este estado si
desea permitir nuevas conexiones para el servicio.
RELATED: El paquete coincidente inicia una nueva conexión relacionada de
alguna forma con una conexión existente. Un ejemplo de ella es el FTP, el cual
usa una conexión para controlar el tráfico (puerto 21), y una conexión
independiente para transferir los datos (puerto20).
Estos estados de conexión pueden usarse en combinación con otros al
separarlos con comas, tal como -m state –state NEW,ESTABLISHED

Modulo mac: Permite la concordancia entre direcciones MAC de hardware.

El módulo mac permite la siguiente opción:

--mac-source — Coincide con una dirección MAC de la tarjeta de interfaz de


red que envió el paquete. Para excluir una dirección MAC de una regla, coloque
un signo de exclamación (!) antes de la opción coincidente --mac-source.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 235

Opciones de destino

Cuando un paquete ha coincidido con una determinada regla, la regla puede dirigir el
paquete a un número de destinos diferentes los cuales determinan la acción apropiada.
Cada cadena tiene un destino predeterminado, el cual se utiliza si ninguna de las reglas en
esa cadena concuerda con un paquete o si ninguna de las reglas que coinciden con el
paquete especifica el destino. Los siguientes parámetros son los estándares de destino:
ACCEPT: Acepta que el paquete continúe a su destino o a otra cadena.
DROP: Elimina el paquete sin responder al solicitante. El sistema que envió el
paquete no es notificado sobre la falla.
REJECT: Devuelve un paquete de errores al sistema remoto y elimina el
paquete.

Guardar reglas de iptables

Las reglas creadas con el comando iptables se almacenan en la memoria. Si el sistema se


inicia antes de guardar el conjunto de reglas iptables, todas las reglas se perderán. Para
que las reglas de netfilter persistan a través del arranque del sistema, es necesario
guardarlas. Para guardar las reglas de netfilter, escriba el siguiente comando como root:

Este comando, ejecuta el script init de iptables, el cual ejecuta el programa


/sbin/iptablessave y escribe la configuración actual de iptables a /etc/sysconfig/iptables.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 236

Acerca del Autor:

Alan Valerio Munguia


Cisco Certified Network Associate
Red Hat Certified System Administrator
Red Hat Certified Engineer

Referencias

Libros:
Libro Oficial Red Hat Administration I - Autor Red Hat
Libro Oficial Red Hat Administration II - Autor Red Hat
Libro Oficial Red Hat Administration III - Autor Red Hat
Preparación para La Certificación LPIC I y II – Sébastien Rohaut

Recursos WEB:
http://www.centos.org/docs/
https://academy.redhat.com/
http://www.alcancelibre.org/
http://fedoraproject.org/wiki/

________________________________________________________________________________

También podría gustarte