lunes, 27 de enero de 2014

Administración remota en Windows

En esta entrada hablaré de lo mismo que en la anterior, pero en Windows.


Acceso al sistema en modo texto

En Windows, podemos acceder al sistema en modo texto mediante Telnet o SSH. Telnet emula una terminal remota y opera en el entorno cliente/servidor, significa que el equipo remoto se configura como servidor y espera que el otro equipo le solicite un servicio.
Comando para establecer una conexion Telnet: open u o
Comando para cerrar una conexión Telnet: close o c
Comando para ver la configuración actual del cliente: display
Comando para salir de Telnet: quit o q
Comando para configurar algunas características: set

SSH es un protocolo TCP que sirve para acceder a máquinas remotas en modo texto o gráfico a través de una red. Con esto se puede manejar totalmente un equipo desde consola o modo gráfico y nos permite copiar datos de un equipo a otro de forma segura.



Escritorio remoto

Windows XP incorpora el servicio de Terminal Server (escritorio remoto) de forma limitada a una única conexión. Esta tecnología permite que podamos disponer de nuestro equipo desde cualquier parte del mundo con una simple conexión a Internet.

En Windows 2008 Server está la funcion Terminal Services (servicios de escritorio remoto). Estos servicios requieres tres componenetes: un servidor de Terminal Server, un cliente de Terminal Server y el protocolo de escritorio remoto.

Para que dos equipos Windows puedan conectarse mediante Terminal Server, es necesario añadirlo en excepciones del cortafuegos o desactivarlo directamente.

En Windows 2008 Server, instalamos el servicio y elegimos un usuario para darle permisos de escritorio remoto. En XP, vamos a Inicio, Todos los programas, Accesorios, Comunicaciones, Conexión a escritorio remoto. Escribimos el nombre del servidor o su IP y el usuario con el que queremos conectarnos, que será al que le dimos permisos.


Protocolos de acceso remoto y puertos implicados

Telnet es un protocolo TCP/IP sin cifrado que utiliza el puerto 23.

SSH es un protocolo TCP/IP con cifrado que utiliza el puerto 22.

Escritorio remoto utiliza el puerto 3389.

VNC: El cliente utiliza el puerto 5900 del servidor y el servidor utiliza el 5500 para escuchar.


Herramientas gráficas externas para la administración remota

PuTTY: Es un emulador gratuito de terminal que soporta SSH y muchos otros protocolos. Es muy útil para conectar por SSH a un servidor Linux.

VNC: Aplicación gratuita y de código abierto que permite acceso remoto a través de un escritorio remoto de otro ordenador a través de la red. Permite controlar de forma remota enviando eventos como las pulsaciones del teclado y los movimientos y clicks del ratón

TeamViewer: Es un programa para compartir escritorio y transferir archivos entre ordenadores.


Fuentes: http://windows.microsoft.com/es-es/windows/telnet-commands#1TC=windows-7
http://es.wikipedia.org/wiki/Terminal_Services

Administración remota en GNU/Linux

En esta entrada hablaré sobre la administración remota en GNU/Linux. Se considera Administración Remota a la funcionalidad de algunos programas que permiten realizar ciertos tipos de acciones desde un equipo local y que las mismas se ejecuten en un equipo remoto.


Ascceso al sistema en modo texto

En Linux, podemos acceder al sistema en modo texto mediante Telnet o SSH. Telnet emula una terminal remota y opera en el entorno cliente/servidor, significa que el equipo remoto se configura como servidor y espera que el otro equipo le solicite un servicio. El comando para acceder a Telnet es: $ telnet dirección_host [puerto] (el puerto por defecto es el 23).

SSH es un protocolo TCP que sirve para acceder a máquinas remotas en modo texto o gráfico a través de una red. Con esto se puede manejar totalmente un equipo desde consola o modo gráfico y nos permite copiar datos de un equipo a otro de forma segura.
Para instalar SSH se usa el comando $ apt-get install ssh
Los archivos de configuración son /etc/ssh/ssh_config (archivo de configuración del cliente) y /etc/ssh/sshd_config (archivo de configuración del servidor).
Para acceder a un equipo por SSH se usa el comando $ ssh usuario@dirección_ip


Escritorio remoto

Podemos usar Vino y Vinagre. Vino es la aplicación que se usa como servidor VNC y Vinagre es la aplicación de Gnome para ver escritorios remotos. Para instalar Vino se usa el comando $ apt-get install vino y para instalar Vinagre, $ apt-get install vinagre . Para modificar las preferencias de cada programa: $ vino-preferences y $ vinagre para entrar al cliente. Introducimos la IP del servidor Vino y ya está.


Protocolos de acceso remoto y puertos implicados

Telnet es un protocolo TCP/IP sin cifrado que utiliza el puerto 23.

SSH es un protocolo TCP/IP con cifrado que utiliza el puerto 22.

Escritorio remoto utiliza el puerto 3389.

VNC: El cliente utiliza el puerto 5900 del servidor y el servidor utiliza el 5500 para escuchar.


Herramientas gráficas externas para la administración remota

TeamViewer: Es un programa para compartir escritorio y transferir archivos entre ordenadores.

FreeNX: Realiza conexiones remotas X11 muy rápidas, lo que permite a los usuarios acceder a escritorios remotos de Linux bajo conexiones lentas. Realiza una compresión directa del protocolo X11, lo que permite una mayor eficiencia que VNC. La información se envía mediante el protocolo SSH para más seguridad.

Webmin: Es una herramienta de configuración de sistemas a traves de la web. Se pueden configurar muchos aspectos internos de sistemas operativos, usuarios, cuotas de espacio, servicios, archivos de configuración, etc. También puede controlar aplicaciones como Apache, Samba, PHP, DHCP, DNS, etc.

Citrix: Virtualiza servidores, estaciones de trabajo y aplicaciones, los centraliza en el centro de datos y los distribuye en forma de servicios bajo demanda.

Vino: Servidor VNC que permite la conexión del servidor remoto a nuestro escritorio.



Fuentes: http://www.edu.xunta.es/centros/abalar/aulavirtual/file.php/19/ModuloGNULinux/equivalencias2/administracin_remota.html
http://www.esdebian.org/wiki/vino-vinagre

martes, 14 de enero de 2014

Linux: Inittab y Upstart

En esa entrada voy a hablar sobre Inittab y Upstart.

El fichero /etc/inittab

¿Qué es? 
Después del kernel, el primer programa que se ejecuta en el sistema es init. Es el encargado de lanzar los scripts de inicialización del sistema y de modificar el sistema operativo de su estado inicial de arranque al estado de multiusuario. Tambien especifica otras características del arranque y apagado. Es un demonio y por lo general tiene PID 1.

En el fichero /etc/inittab se definen todas las tareas que realiza. Modificar este fichero de forma incorrecta puede impedir registrarse en el sistema.

El programa init pasa a través de una serie de niveles de ejecución, que corresponden a varios estados del sistema. Al nivel de ejecución 1 se entra inmediatamente después de iniciar el sistema, los niveles 2 y 3 son los modos de operación del sistema normal y multiusuario respectivamente, el nivel 4 lanza el sistema X Window a través del X display manager xdm y el nivel 6 reinicia el sistema. Los niveles de ejecución asociados a cada orden, son el segundo término de cada línea del fichero /etc/inittab.


¿Qué distribuciones de GNU/Linux lo usan?
Las distribuciones GNU/Linux donde se usa inittab son Debian y sistemas Solaris.

Tutorial de inittab

Al abrir el archivo /etc/inittab nos mostrará algo parecido a esto:


Las líneas de texto dentro del archivo constan de cuatro campos delimitados por dos puntos:
"id:runlevesl:action:process", donde:
  • id: Identifica a la línea dentro del archivo.
  • runlevels: Los niveles de ejecución en los cuales la línea debe ser considerada.
  • action: Define la manera en que debe ser tratada la línea.
  • process. El comando a ejecutar.
Es recomendable hacer una copia de seguridad del archivo inittab cada vez que vayamos a modificarlo para evitar problemas en el futuro.

La primera línea no comentada es "id:2:initdefault:". Significa que el sistema iniciará en el nivel 2. Para que inicie en el modo de operación del sistema multiusuario basta con cambiar el 2 por el 3.


Upstart


¿Qué es?
Upstart es el reemplazo basado en eventos para el demonio init. Trabaja de forma asíncrona supervisando las tareas mientras el sistema está arrancando. También gestiona las tareas y servicios de inicio cuando el sistema arranca y los detiene cuando el sistema se apaga.

El demonio init tradicional es estrictamente síncrono, bloqueando futuras tareas hasta que la actual se haya completado. Sus tareas deben ser definidas por adelantado, y solo pueden ser ejecutadas cuando el demonio init cambia de estado (cuando la máquina se arranca o se apaga). Esto hace que no sea capaz de manejar de forma elegante varias tareas en computadoras de escritorio modernas, incluyendo:
  • La conexión o desconexión de una memoria USB y otros medios de almacenamiento portables / dispositivos de red mientras la máquina está arrancada.
  • El descubrimiento y exploración de nuevos dispositivos de almacenamiento, sin bloquear el sistema, especialmente cuando un disco puede no encenderse hasta que este es explorado.
  • La carga de firmware para un dispositivo, lo cual podría tener que realizarse después de sea detectado pero antes de que sea utilizable.
El modelo basado en eventos de Upstart le permite responder a los eventos de forma asíncrona cuando estos son generados. Esta es la principal diferencia con Inittab, el cual está basado en niveles y no puede interactuar directamente con el sistema ni los servicios.

¿Qué distribuciones de GNU/Linux lo usan?
Las distribuciones GNU/Linux que usan Upstart son Ubuntu a partir de la versión 6.10, Maemo 5 y Fedora.

Tutorial de Upstart

En la ruta /etc/init se encuentran todos los ficheros iniciados por Upstart.




Fuentes: http://ftp.nluug.nl/ibiblio/docs/LuCaS/Manuales-LuCAS/LIPP2/lipp-2.0-beta-html/node285.html
http://es.wikipedia.org/wiki/Init
http://www.ibiblio.org/pub/linux/docs/LDP/system-admin-guide/translations/es/html/ch09s02.html
http://es.wikipedia.org/wiki/Upstart

viernes, 10 de enero de 2014

Procesos en Windows 2008 Server: Comandos TASKLIST y TASKKILL y el Administrador de Tareas

Para usar estas comandos es necesario abrir la consola de Windows en Inicio, Ejecutar y escribiendo "cmd" sin las comillas en el cuadro de texto.


Comando TASKLIST

¿Para qué sirve?

Muestra todos los procesos ejecutándose en el equipo con el número de identidad del proceso (PID).  Basta con introducirlo seguido del parámetro necesario. Si se usa sin ninguna opción muestra algo similar a la imagen.


Voy a explicar lo que muestra cada columna:
  • Nombre de imagen: Es el nombre del proceso que se está ejecutando.
  • PID: Número de identidad del proceso. Por defecto, los procesos aparecen ordenados por su PID.
  • Nombre de sesión: Indica en qué sesión se ha producido la ejecución. Puede ser Services o Console.
  • Número de sesión: Indica en cuántas sesiones está iniciado el proceso.
  • Uso de memoria: Es la cantidad de memoria que necesita o está utilizando el proceso para ser ejecutado correctamente.
Parámetros para usar con TASKLIST
  • TASKLIST /V: Muestra información detallada de cada proceso.
  • TASKLIST /SVC: Muestra información adicional de los servicios hospedados en cada proceso.
  • TASKLIST /M módulo: Muestra todas las tareas que usan un módulo DLL o EXE especificado. Si no se indica el módulo se muestran todos los módulos cargados.
  • TASKLIST /FO formato: Especifica el formato de salida. Puede ser TABLE, LIST o CSV.
  • TASKLIST /NH: Si se usan los formatos TABLE y CSV, especifica que el encabezado de columna no se debe mostrar.
  • TASKLIST /FI filtro: Filtra la información que se solicita con un criterio especificado. Hay varios tipos de filtro:

Donde:
  • eq: Igual que
  • ne: No igual
  • gt: Mayor que
  • lt: Menor o igual que
  • ge: Mayor o igual que
  • le: Menor que

Ejemplo:  Ver información detallada de las aplicaciones ejecutándose en el equipo:
TASKLIST /SVC /FI "STATUS eq running"


"STATUS eq running" significa que el estado del proceso tiene que ser "corriendo".

Mostrar todas las tareas que están usando el módulo ntdll.dll:
TASKLIST /M ntdll.dll




Comando TASKKILL

¿Para qué sirve?

Permite detener tareas o procesos usando el PID o el nombre del proceso. 

Parámetros a usar con TASKKILL

  • TASKKILL /PID identidadProceso: Detiene un proceso especificando el PID.
  • TASKKILL /IM nombreTarea: Detiene un proceso especificando su nombre.
  • TASKKILL /FI filtro: Permite usar un filtro para seleccionar varios procesos al mismo tiempo.
  • TASKKILL /T: Termina un proceso y todos los procesos secundarios iniciados por él.
  • TASKKILL /F: Especifica que se debe terminar un proceso de forma forzada.
Ejemplo: Finalizar el proceso Bloc de Notas de forma forzada (tiene que estar ejecutándose):
TASKKILL /F /IM notepad.exe


Primero he ejecutado el comando TASKLIST /FI "STATUS eq running" para comprobar los procesos que se estban ejecutando en ese momento. Aparece el proceso notepad.exe correspondiente al Bloc de Notas. Después he ejecutado el comando para forzar a terminar el proceso.



Modo gráfico: Administrador de Tareas

El Administrador de Tareas de Windows es una herramienta muy conocida que sirve para iniciar programas, finalizar procesos y supervisar el rendimiento del equipo.

Podemos iniciar el Administrador de Tareas con la secuencia de teclas CTRL+ALT+SUPR. Nos saldráuna pantalla azul con varias opciones. Elegimos Ejecutar el Administrador de Tareas.


Voy a explicar cada una de las pestañas que aparecen:
  • Aplicaciones: Muestra los programas y aplicaciones abiertos en nuestro equipo y el estado en el que se encuentran. Como antes abrí el Bloc de Notas, aparece ahí. Podemos finalizar una tarea, cambiar a otra tarea o iniciar una nueva.
  • Procesos: Muestra los procesos ejecutándose en el equipo. En la parte de abajo sale el número de procesos que hay, actualmente 50. Los procesos aparecen ordenados por columnas, Nombre de imagen es el nombre del proceso, Nombre de usuario es el usuario que lo ha iniciado, CPU es el porcentaje de CPU usado para ese proceso, Memoria es la cantidad de memoria necesaria o usada para que el proceso funcione correctamente y Descripción muestra una breve descripción del proceso.
  • Servicios: Muestra los servicios ejecutándose en el equipo. También están organizados por columnas, Nombre indica el nombre del servicio, PID es su número de identidad, Descripción muestra una breve descripción del servicio, Estado indica el estado en el que está actualmente el servicio (en ejecución, detenido,...) y Agrupar clasifica los servicios.


  • Rendimiento y Funciones de red: Muestran varias gráficas y tablas que resumen el gasto de recursos del ordenador, su "pulso". Si hay una tarea que está gastando muchísima memoria, red o procesador, las líneas se aplastarán contra los bordes superiores.

  • Usuarios: Muestra los usuarios conectados al sistema, así como su identificador, estado, nombre del cliente y sesión.


Tambien podemos cambiar la prioridad de algún proceso. Basta con hacer click derecho sobre uno de ellos y le damos a Establecer prioridad. Esto hará que se destinen más o menos recursos al proceso. Si queremos codificar un vídeo en menos tiempo, podemos poner la prioridad en Alta para que pueda usar más procesador y memoria. No es recomendable poner la prioridad en Tiempo real porque desestabiliza el sistema.




Fuentes: http://norfipc.com/comandos/como-usar-comandos-tasklist-taskkill-windows.php
http://www.comtecknet.com/2011/06/20/comandos-batch-tasklist/
http://articulos.softonic.com/administrador-de-tareas