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

453 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
453
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. 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
  2. 2. 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
  3. 3. Agenda ● Servicios ○ Iniciar servicios manualmente ○ Comandos útiles para arrancar servicios ● Administración de red ○ Comandos básicos ● Servicios de conexión remota ○ Telnet ○ SSH
  4. 4. Objetivos ❖ Aprender los conocimientos básicos para administrar servicios en GNU/Linux. ❖ Conocer los servicios más importantes para la conexión remota
  5. 5. Servicios
  6. 6. 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.
  7. 7. 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
  8. 8. 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
  9. 9. 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)
  10. 10. 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
  11. 11. 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.
  12. 12. 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.
  13. 13. Si se indica como argumento el nombre de algún servicio nos regresará su estatus: $ chkconfig smb smb on Sin ningún argumento nos dará una lista con el status de todos los servicios: $ chkconfig httpd off mysql on smb 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
  14. 14. 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.
  15. 15. Administración de Red
  16. 16. 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.
  17. 17. 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.
  18. 18. Comando básico para redes en GNU/Linux ifconfig -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.
  19. 19. Comando básico para redes en GNU/Linux iwconfig Similar a ifconfig pero sólo para interfaces wireless. ifup interface Habilita la interface especificada,ejemplos: ifup eth0 ;ifup ppp0 ifdown interface Deshabilita la interface especificada,ejemplos: ifdown eth0 ;ifdown ppp0
  20. 20. 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]
  21. 21. 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
  22. 22. 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
  23. 23. Comando route Muestra por pantalla la tabla de enrutamiento de tu equipo. route -n
  24. 24. Comando host Obtener la dirección IP del servidor donde esté alojada una web en concreto. host www.website.com
  25. 25. Servicios de conexión remota
  26. 26. 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).
  27. 27. 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.
  28. 28. 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.
  29. 29. 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.
  30. 30. Ssh, Secure shell Comando scp El 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/
  31. 31. 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"
  32. 32. Ssh, Secure shell Utilice 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"'
  33. 33. Ssh, Secure shell Podrí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'
  34. 34. Referencias Libros: GNU/Básico : Antonio Perpiñan http://codigolibre.org/ Administración Avanzada de GNU/Linux http://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_003 http://www.linuxtotal.com.mx/index.php?cont=info_admon_011
  35. 35. ¿Preguntas?
  36. 36. @eudriscabrera @eudris @ecabrerar @eudriscabrera Eudris Cabrera Rodríguez Ingeniero Telemático Desarrollador de Software / Consultor Informático eudris@gmail.com

×