[es] administración de servicios en gnu/linux

Post on 04-Jul-2015

370 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

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

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

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

Agenda

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

● Administración de red○ Comandos básicos

● Servicios de conexión remota○ Telnet○ SSH

Objetivos

❖ Aprender los conocimientos básicos para administrar servicios en

GNU/Linux.

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

Servicios

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.

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

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

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)

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

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.

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.

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

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.

Administración de Red

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.

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.

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.

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

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]

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

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

Comando route

Muestra por pantalla la tabla de enrutamiento de tu equipo.

route -n

Comando host

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

host www.website.com

Servicios de conexión remota

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

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.

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.

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.

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 usuario1@servidor.dominio.es:/home/usuario1/

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"

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

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'

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

¿Preguntas?

@eudriscabrera

@eudris

@ecabrerar

@eudriscabrera

Eudris Cabrera Rodríguez Ingeniero Telemático

Desarrollador de Software / Consultor Informático

eudris@gmail.com

top related