Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Material Linux - Editado

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 240

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

Instalación de Linux
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 3

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

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 4

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

Seleccionamos el idioma para la instalación

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 5

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 18

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.

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 19

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?

Capitulo Nº 2

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 20

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

Escritorio GNOME
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 21

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

Gestión de Sistema de archivos

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 22

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

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


subdirectorios
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 23

 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

Test: Sistema de Archivos


________________________________________________________________________________
Administración y Seguridad en GNU/Linux 24

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 25

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 26

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 27

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 28

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 29

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 30

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 31

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 32

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 33

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 34

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 35

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 36

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 37

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

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?


___________________________________________________________

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 38

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


__________________________________________________________

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 39

Comandos Básicos – Rutas Absolutas, Rutas Relativas

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


absolutas
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 40

___________________________________________________________

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


_____________________________________________________

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 bowe-labs 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 41

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 42

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 43

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
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 44

* 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

- 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


________________________________________________________________________________
Administración y Seguridad en GNU/Linux 45

-p tipo de procesador

-o nombre sistema operativo

Comandos Básicos:

Comando Significado

find buscar ficheros


which busca ejecutables
scp copia archivos y directorios remotos

du Muestra el uso de espacio de archivos y directorios

df 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 la ultima pagina del archivo

cat Muestra el contenido de un archivo | También usada para


concatenar archivos
more Muestra todo el contenido de un archivo

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 46

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 47

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 48

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 49

Test: Expresiones Regulares

Cual es resultado de las siguientes expresiones:

1. h[aiou]t -> hat – hit – hot - hut

2. b[ol][oa]t -> boot – boat – blot – blat

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

grep -i “^test” archivo find / -name [tT]est

6. Líneas que terminan en end.

grep “end$” archio

7. Que muestre file5,file6,file7,file8

find / -name “file[5-8]”

8. Que muestre file2,file4,file6,file8

find / -name file[2,4,6,8]

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 50

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 51

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 columnas 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 52

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 53

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 54

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 55

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

ls /usr/share/doc | grep “4$”


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

grep “6$” /etc/hosts


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

grep “127.0.0.1” /etc/hosts


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

ls /var >> /tmp/output.txt

Editor vi

El Editor de texto vi es un poderoso editor de texto que se puede encontrar en cualquier sistema
GNU/Linux
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 56

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

c. Desplazamiento

Comando Acción
h Ir a la izquierda
l Ir a la derecha
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 57

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

f. Copiar – Pegar

Las siguientes acciones son posibles en modo comando


- yy => para copiar un línea
- 5yy => para copiar 5 lineas
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 58

- 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’

NOTAS:
- En el bashrc de cada usuario
- Si deseo que todos los usuarios tengan acceso al alias lo puedo editar en
/etc/bashrc

Capitulo Nº 5

TEMAS

 Empaquetar y desempaquetar ficheros


________________________________________________________________________________
Administración y Seguridad en GNU/Linux 59

 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

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 60

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”

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 61

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

Red Hat Package Manager

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 62

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

Consultas RPM

Se puede consultar la base de datos RPM con el parámetro -q seguida de algunas opciones.
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 63

-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:

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:
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 64

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

6. Actualizaciones

Comando Función

yum update paquete actualiza un paquete

yum update se actualizan todos los paquetes

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 65

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

Notas:

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

Administrando Paquetes usando GNOME


Uso de PackageKit

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 66

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.

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.
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 67

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.

Test: Administración de software

- Instalar desinstalar y actualizar los siguientes paquetes:

 xsane (nuevo paquete)


________________________________________________________________________________
Administración y Seguridad en GNU/Linux 68

 gimp (nuevo paquete)

 yum (actualización)

 httpd (desinstalar)

 vsftpd (Instalar)

 xsane-gimp (Instalar)

Capitulo Nº 6

TEMAS

 Administración de Procesos

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 69

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

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.
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 70

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

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

- Estado actual del proceso


- ID de proceso

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 71

- 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 72

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 73

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 74

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 75

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 76

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 77

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 78

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 que 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 79

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 80

- /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 81

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 82

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 83

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 84

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 85

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 86

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 87

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 88

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 89

9. ¿Cómo Elimino un grupo?

 Gestor de usuarios
 Seleccionamos el nombre del grupo
 Click en borrar

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


________________________________________________________________________________
Administración y Seguridad en GNU/Linux 90

Eliminar el usuario pepito

Eliminar el grupo badgroup

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 91

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 92

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 ricardol 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
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 93

 ricky puede modificar contenido de lfile1

- Verdadero
- Falso
 fred puede eliminar lfile1

- Verdadero
- Falso

Grupo Usuarios
lucy lucy,ricardo
ricky ricky,ricardo
ethel ethel,mertz
fred fred,mertz
Ricardo
Responder en base a los Siguientes atributos
-rw-rw-r-- lucy lucy lfile1
-rw-r--rw- lucy ricardo 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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 94

- Verdadero
- Falso
 ethel puede modificar contenido de lfile2

- Verdadero
- Falso

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 ricardol 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
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 95

- Falso

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 ricardol 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 96

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 97

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 98

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 99

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.

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 100

RECURSOS

 Una Computadora Personal

 Material Educativo

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.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 101

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 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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 102

Mediante el comando service:

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:

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 103

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

El comando shutdwon

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

Sintaxis:

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

Parámetros:

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 104

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

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:

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 105

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

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 106

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.

Desmontar Sistema de ficheros

umount

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 107

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.

Montar un CD/DVD e Imágenes ISO

CD/DVD:

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 108

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.

/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
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 109

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

Capitulo Nº 10

TEMAS

 Particiones y sistema de archivos

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 110

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

Partición Simple y Sistema de archivos


Lista de particiones:

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 111

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

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 112

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.

Montar la partición de manera persistente

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 113

- Agregar al archivo /etc/fstab

- Cargar la tabla de sistemas de ficheros

Test: Agregar un nuevo sistema de archivos


________________________________________________________________________________
Administración y Seguridad en GNU/Linux 114

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

___________________________________________________________________

Administrando el espacio de swap

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 115

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

Capitulo Nº 11
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 116

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

Componentes de LVM
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 117

 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

Implementando Almacenamiento LVM desde la CLI

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 118

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

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 119

Esquema inicial de disco

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

2. Creando el Volumen Físico


________________________________________________________________________________
Administración y Seguridad en GNU/Linux 120

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

5. Mapeando la partición LVM de manera persistente

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 121

Información de las particiones LVM

Extendiendo Volumen Lógico

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 122

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

Extendiendo Volumen Lógico (ejemplo)

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 123

1. Verificando el estado actual del file system

2. Verificando las extensiones físicas disponibles

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

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


________________________________________________________________________________
Administración y Seguridad en GNU/Linux 124

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

Reduciendo un volumen lógico

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 125

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

Reduciendo un volumen lógico (ejemplo)

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 126

1. Verificar información del volumen lógico

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

3. Redimensionar el volumen lógico a 4 GB


________________________________________________________________________________
Administración y Seguridad en GNU/Linux 127

4. Reduciendo el volumen lógico

5. Recargar la lectura del archive fstab

Extendiendo Un Grupo de Volumen

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 128

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ó

Extendiendo Un Grupo de Volumen (ejemplo)

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 129

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

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 130

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

LVM usando herramienta gráfica

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 131

 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

Pasos para configurar LVM

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 132

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

Extendiendo el grupo de volúmenes

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 133

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

Capitulo Nº 12

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 134

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

Concepto de IPV4

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 135

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

Test: Concepto de IPV4


________________________________________________________________________________
Administración y Seguridad en GNU/Linux 136

Configuración de red

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 137

Abrir la aplicación NetworkManager y configurar la red

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 138

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 139

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 140

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 141

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 142

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

Estructuras Condicionales

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 143

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.

Ejemplo 1:

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 144

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

Condicionales Case

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 145

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

Expresiones test

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 146

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

Uso de test

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 147

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

Bucles While

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 148

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

Bucles For:

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 149

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

Ejercicios:

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 150

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.

Automatización de Tareas

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 151

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
Suprimir las tareas de cron

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 152

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 153

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

Capitulo Nº 14
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 154

TEMAS

 TCP Wraper y Xinetd.

OBJETIVOS

Al finalizar el capítulo el alumno podrá.

 Controlar los servicios locales.

RECURSOS

 Una Computadora Personal.

 Material Educativo.

TCP Wraper y Xinetd

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 155

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.

TCP Wraper
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 156

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.

Archivos de configuración

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 157

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 158

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 159

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 160

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 161

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 162

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 163

- 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 164

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 165

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 166

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 167

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 168

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 169

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

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 170

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.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 171

Permitir el acceso a un grupo de usuarios

Pasos:

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 172

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 173

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 174

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.
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 175

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

Configuración de SSL:

Paso I:

Verificar los paquetes necesarios para WEB-SSL

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 176

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

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
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 177

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

Capitulo Nº 16

TEMAS

 Servidor FTP

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 178

OBJETIVOS

Al finalizar el capítulo el alumno podrá

 Instala y Configura un Servidor FTP

RECURSOS

 Una Computadora Personal

 Material Educativo

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:


________________________________________________________________________________
Administración y Seguridad en GNU/Linux 179

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

Instalación y configuración

- Verificar la instalación del paquete vsftpd

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 180

- 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

Editando el archivo de configuración

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 181

 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

Laboratorio: Servidor FTP

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 182

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

Capitulo Nº 17

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 183

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

Servidor NFS

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 184

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

Opciones
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 185

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.

Capitulo Nº 18
________________________________________________________________________________
Administración y Seguridad en GNU/Linux 186

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

Servidor DHCP

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 187

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 188

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 189

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 190

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 191

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 192

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 193

- 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 194

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 195

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 196

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 197

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 198

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 199

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 200

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 201

Herramientas para clientes DNS

 nslookup

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 202

 dig

 host

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 203

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 204

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 205

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 206

Configuración DNS Caché

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 207

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 208

Editamos los archivos:

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

vi /var/named/db.192.168.7

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 209

Configuración DNS Esclavo

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 210

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 211

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 212

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 213

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 214

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 215

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 216

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

# 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 217

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 218

Configuración de Cliente de Correo

- Evolution

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 219

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 220

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 221

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 222

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 223

Configuración de Cliente thunderbird

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 224

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 225

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 226

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 227

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 228

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 229

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 230

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
Miércole
W
s
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 231

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 232

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 233

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.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 234

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
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 235

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

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 236

especifica ningún argumento, la regla se inserta en la parte superior de la


cadena.

 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.

________________________________________________________________________________
Administración y Seguridad en GNU/Linux 237

 s: Establece el origen para un paquete determinado mediante la misma sintaxis


del parámetro de destino (-d).

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 238

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 239

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 240

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
 Libro Para La Certificación LPIC I y II –

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

________________________________________________________________________________

También podría gustarte