[ES] Administración de servicios en GNU/Linux

36
Diplomado en Software Libre Administración de Servicios en GNU/Linux Eudris Cabrera Rodríguez 06 Julio 2014, Santiago de los Caballeros, R. D. @eudriscabrera @eudriscabrera

description

Presentación sobre administración de servicios en los sistemas GNU/Linux, como parte del Diplomado de Software Libre que se lleva a cabo en la Universidad Abierta para Adultos (UAPA), Santiago de los caballeros. #Linux #softwarelibre

Transcript of [ES] Administración de servicios en GNU/Linux

Page 1: [ES] Administración de servicios en GNU/Linux

Diplomado en Software Libre

Administración de Servicios en GNU/Linux

Eudris Cabrera Rodríguez

06 Julio 2014, Santiago de los Caballeros, R. D.

@eudriscabrera @eudriscabrera

Page 2: [ES] Administración de servicios en GNU/Linux

Todas las marcas registradas, así como todos los logotipos, imágenes, fotografías, audio y vídeos mostrados en esta presentación son propiedad de sus respectivos propietarios.

Su utilización es solamente para fines ilustrativos y no pretendo dar a entender cualquier afiliación con esas empresas.

Los conceptos y juicios de valor emitidos en esta presentación son responsabilidad personal y no se puede entender como una posición oficial de alguna empresa con la que he tenido relación laboral.

Asuntos Legales

Page 3: [ES] Administración de servicios en GNU/Linux

Agenda

● Servicios○ Iniciar servicios manualmente○ Comandos útiles para arrancar servicios

● Administración de red○ Comandos básicos

● Servicios de conexión remota○ Telnet○ SSH

Page 4: [ES] Administración de servicios en GNU/Linux

Objetivos

❖ Aprender los conocimientos básicos para administrar servicios en

GNU/Linux.

❖ Conocer los servicios más importantes para la conexión remota

Page 5: [ES] Administración de servicios en GNU/Linux

Servicios

Page 6: [ES] Administración de servicios en GNU/Linux

Servicios

GNU / Linux ofrece multitud de servicios o servidores, estos pueden iniciar o arrancar junto con la carga del sistema o pueden después ser puestos a funcionar cuando se requieran.

Page 7: [ES] Administración de servicios en GNU/Linux

Iniciando servicios manualmente

Directorio init.d

Dentro de este directorio ubicado en /etc o en /etc/rc.d dependiendo de la distribución, se encuentran una serie de scripts que permiten iniciar/detener la gran mayoría de los servicios/servidores que estén instalados en el equipo.

Estos scripts están programados de tal manera que la mayoría reconoce los siguientes argumentos: start stop restart status

Los argumentos son autodescriptivos, y tienen permisos de ejecución, entonces siendo root es posible iniciar un servicio de la siguiente manera, por ejemplo samba:

$ /etc/rc.d/init.d/smb start

Page 8: [ES] Administración de servicios en GNU/Linux

Comando service

El comando service permite iniciar, parar, o reiniciar un servicio del sistema.

En este caso es el servicio networking, así que tienes que escribir – como superusuario – el siguiente comando:

sudo service network start/stop/restart

Page 9: [ES] Administración de servicios en GNU/Linux

Iniciando servicios (desde el arranque del sistema)

En Linux, a diferencia de otros sistemas operativos, es posible configurarlo en base a niveles de ejecución (run levels), cada nivel de ejecución (en la mayoría de las distros son 7), inicia o detiene (Start o Kill) ciertos servicios.

Estos niveles son los siguientes:

0 Detener o apagar el sistema 1 Modo monousuario, generalmente utilizado para mantenimiento del sistema 2 Modo multiusuario, pero sin soporte de red 3 Modo multiusuario completo, con servicios de red 4 No se usa, puede usarse para un inicio personalizado 5 Modo multiusuario completo con inicio gráfico ( X Window) 6 Modo de reinicio (reset)

Page 10: [ES] Administración de servicios en GNU/Linux

Comando init

Este comando te permite cambiar el nivel de ejecución actual por otro, es decir puedes estar en el nivel 3 y en cualquier momento pasar al 5 o viceversa, o entrar a un modo monousuario para tareas de mantenimiento como utilizar fsck.

Esto sin necesidad de cambiar la línea initdefault en /etc/inittab, simplemente usando el comando init:

$> init 3

Page 11: [ES] Administración de servicios en GNU/Linux

Directorios rc

Debajo de /etc se encuentra el directorio rc.d que a la vez contiene un directorio para cada nivel de ejecución, así tenemos rc0.d, rc1.d, rc2.d, rc3.d, etc.

Hay algunas distros que estos directorios están ubicados directamente en /etc. Cada uno de estos directorios contienen scripts (o mas bien enlaces a scripts) que apuntan al directorio init.d, entonces el comando init (ya sea ejecutado manualmente o cuando se inicia el sistema), dependiendo del nivel indicado leerá cada uno de los enlaces o accesos directos del directorio respectivo.

Page 12: [ES] Administración de servicios en GNU/Linux

Comando chkconfig

Permite configurar que servicios arrancan/detienen en cada nivel de ejecución.

chkconfig no inicia ni detiene servicios al momento (excepto aquellos bajo xinetd), tan solo crea o elimina precisamente los enlaces de los que se habló en el punto anterior de una manera más amigable.

La opción --list nos da una lista de todos los servicios instalados y para cada nivel si arrancará (on) al entrar a este nivel o se detendrá (off) o simplemente no se iniciaron.

Page 13: [ES] Administración de servicios en GNU/Linux

Si se indica como argumento el nombre de algún servicio nos regresará su estatus:$ chkconfig smbsmb on

Sin ningún argumento nos dará una lista con el status de todos los servicios:

$ chkconfighttpd offmysql onsmb on

Se desea que el servidor web apache (httpd) inicie cuando se entra en el nivel 5, entonces usamos la opción --level:$ chkconfig --level 5 httpd on

La base de datos MySQL no se desea que inicie en los niveles 3 y 5, solo hasta que el administrador decida arrancarla:$ chkconfig --level 35 mysql off

Page 14: [ES] Administración de servicios en GNU/Linux

Existe una alternativa a la herramienta chkconfig llamada sysv-rc-conf que permite la configuración gráfica del arranque de servicios.

En debian y derivados

$ sudo apt-get install sysv-rc-conf

Para ejecución sólo tienes que escribir el comando sysv-rc-conf.

Page 15: [ES] Administración de servicios en GNU/Linux

Administración de Red

Page 16: [ES] Administración de servicios en GNU/Linux

Comando básico para redes en GNU/Linux

$ /etc/init.d/networking start Inicia los servicios de red.

$ /etc/init.d/networking restart Reinicia los servicios de red.

$ /etc/init.d/networking stop Para los servicios de red.

Page 17: [ES] Administración de servicios en GNU/Linux

Comando básico para redes en GNU/Linux

ifconfig

El comando ifconfig muestra por pantalla un listado de todas las interfaces de red con su respectivo identificador (“eth” para ethernet, “wlan” para wifi, y “lo” para la dirección 127.0.0.1) y sus parámetros de configuración (dirección IP, dirección MAC, máscara de red y más información técnica).

ifconfig [interfaz opciones IP] Información y configuración de interfaces de red.

ifconfig Muestra el estado de los interfaces activos.

Page 18: [ES] Administración de servicios en GNU/Linux

Comando básico para redes en GNU/Linuxifconfig -a Muestra el estado de todos los interfaces.

ifconfig ppp0 Muestra el estado de ppp0

ifconfig eth0 up Activa eth0.

ifconfig eth0 down Cierra eth0.

ifconfig eth1 address 156.35… Asigna una dirección al interfaz especificado.

Page 19: [ES] Administración de servicios en GNU/Linux

Comando básico para redes en GNU/Linux

iwconfigSimilar a ifconfig pero sólo para interfaces wireless.

ifup interfaceHabilita la interface especificada,ejemplos: ifup eth0 ;ifup ppp0

ifdown interfaceDeshabilita la interface especificada,ejemplos: ifdown eth0 ;ifdown ppp0

Page 20: [ES] Administración de servicios en GNU/Linux

Comando Netstat

Netstat (network statistics) es una herramienta de línea de comandos que muestra un listado de las conexiones activas, tanto entrantes como salientes.

Existen versiones de este comando en varios sistemas como Unix, GNU/Linux, Mac OS X, Windows y BeOS.La información que resulta del uso del comando incluye el protocolo en uso, las tablas de ruteo, las estadísticas de las interfaces y el estado de la conexión.

NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [intervalo]

Page 21: [ES] Administración de servicios en GNU/Linux

Comando ping

Una utilidad básica para cualquiera que trabaje un poco con redes, sirve para comprobar si se realiza correctamente el envío de datos al equipo destino:

ping ip_destino

Page 22: [ES] Administración de servicios en GNU/Linux

Comando ping

Una utilidad básica para cualquiera que trabaje un poco con redes, sirve para comprobar si se realiza correctamente el envío de datos al equipo destino:

ping ip_destino

Page 23: [ES] Administración de servicios en GNU/Linux

Comando route

Muestra por pantalla la tabla de enrutamiento de tu equipo.

route -n

Page 24: [ES] Administración de servicios en GNU/Linux

Comando host

Obtener la dirección IP del servidor donde esté alojada una web en concreto.

host www.website.com

Page 25: [ES] Administración de servicios en GNU/Linux

Servicios de conexión remota

Page 26: [ES] Administración de servicios en GNU/Linux

Servicios sobre TCP/IP

El protocolo TCP/IP es en realidad un conjunto de protocolos básicos que se han ido agregando a principal para satisfacer las diferentes necesidades en la comunicación ordenador-ordenador como son TCP, UDP, IP, ICMP, ARP.

La utilización más frecuente de TCP/IP para el usuario en la actualidad son la conexión remota a otros ordenadores (telnet, SSH Secure Shell), la utilización de ficheros remotos (Network File System NFS) o su transferencia (File Transfer Protocol FTP, Hipertext Markup Protocol, HTTP).

Page 27: [ES] Administración de servicios en GNU/Linux

Telnet y telnetd

Telnet es un comando (cliente) utilizado para comunicarse interactivamente con otro host que ejecuta el daemon telnetd.

El comando telnet se puede ejecutar como telnet host o interactivamente como telnet, el cual pondrá el prompt “telnet>” y luego, por ejemplo: open host.

Una vez establecida la comunicación, se deberá introducir el usuario y el password bajo el cual se desea conectar al sistema remoto.

Page 28: [ES] Administración de servicios en GNU/Linux

Ssh, Secure shell

El protocolo ssh (en su versión OpenSSH) provee de un conexión encriptada y comprimida mucho más segura que, por ejemplo, telnet (es recomendable utilizar la versión 2 del protocolo).

Es un reemplazo de rlogin, rsh y rcp.

Todas las distribuciones actuales incorporan el cliente ssh y el servidor sshd por defecto.

Page 29: [ES] Administración de servicios en GNU/Linux

Ssh, Secure shell

Sintaxis$ ssh user@hostname [command]

SSH soporta diferentes modos de autentificación (ver man ssh) basados en algoritmo RSA y clave pública.

Para ejecutar el comando, hacer: ssh -l login name host

Utilizando el comando ssh-keygen -t rsa|dsa, se pueden crear las claves de identificación de usuario.

Page 30: [ES] Administración de servicios en GNU/Linux

Ssh, Secure shell

Comando scpEl comando scp permite copiar ficheros entre dos máquinas.

Utiliza ssh para la transmisión de la información, por lo que ofrece la misma seguridad que el ssh.

Sintaxis:scp archivo_a_copiar usuario@host:/ruta_destino

Ejemplo:$ scp ~/Documents/miarchivo.txt [email protected]:/home/usuario1/

Page 31: [ES] Administración de servicios en GNU/Linux

Ssh, Secure shell

Ejecutar un programa GUI en la pantalla de un ordenador remoto.1. Loguearse en una máquina remota ssh usario@host

2. Recomendar a las aplicaciones GUI que se lanzará en la pantalla local (por lo que, cualquier programa gráfico que se ejecuta, se mostrará en la pantalla del equipo remoto):$ export DISPLAY=:0

3. Ejecutar programa GUI. Por ejemplo vamos a empezar el navegador Firefox, que se lanzará y se visualiza en la pantalla del equipo remoto en el que se encuentra logueado.$ firefox "www.shellhacks.com"

Page 32: [ES] Administración de servicios en GNU/Linux

Ssh, Secure shellUtilice nohup para impedir que un proceso se detenga después de cerrar la sesión SSH.

$ nohup firefox "www.shellhacks.com"

También podemos enviar una notificación al usuario del equipo remoto.Forma de uso:$ ssh host 'DISPLAY=:0 nohup notify-send "mensaje"'

Ejemplo:$ ssh 192.168.0.100 'DISPLAY=:0 nohup notify-send "Hola" "Mundo"'

Page 33: [ES] Administración de servicios en GNU/Linux

Ssh, Secure shellPodríamos iniciar un reproductor de música (Rhythmbox) en el equipo remoto:

Forma de uso$ ssh host 'DISPLAY=:0 nohup rhythmbox ruta_archivo_mp3'

Ejemplo:$ ssh 192.168.0.100 'DISPLAY=:0 nohup rhythmbox ./Smoke-on-the-Water.mp3'

Page 34: [ES] Administración de servicios en GNU/Linux

Referencias

Libros:GNU/Básico : Antonio Perpiñanhttp://codigolibre.org/

Administración Avanzada de GNU/Linuxhttp://www.uoc.edu/masters/oficiales/img/871.pdf

Enlaces:http://blog.desdelinux.net/permisos-basicos-en-gnulinux-con-chmod/http://www.linuxtotal.com.mx/index.php?cont=info_admon_003http://www.linuxtotal.com.mx/index.php?cont=info_admon_011

Page 35: [ES] Administración de servicios en GNU/Linux

¿Preguntas?

Page 36: [ES] Administración de servicios en GNU/Linux

@eudriscabrera

@eudris

@ecabrerar

@eudriscabrera

Eudris Cabrera Rodríguez Ingeniero Telemático

Desarrollador de Software / Consultor Informático

[email protected]