Instructivo

Almacenamiento de Conocimiento

Herramientas de usuario

Herramientas del sitio


linux:conociendo_el_funcionamiento_de_linux

¡Esta es una revisión vieja del documento!


Curso Linux Básico

Introducción

El propósito de este curso es brindar los conocimientos mínimos de Linux, tanto técnicos como informativos, que permitan al alumno administrar básicamente un sistema GNU/Linux. Incluye conocimientos sobre distribuciones basadas en Debian, en CentOS y algunas otras, así como ideas y conceptos de BSD Unix. Se incluirá también información sobre servidores, demonios y bases de datos, así como nociones de seguridad.

El objetivo de esta página wiki es suministrar un resumen de lo que se enseñará durante la cursada, en especial comandos y consejos prácticos.

1. Introducción a Linux

Objetivos

Adquirir conceptos básicos y terminología necesaria para el uso diario del sistema operativo.

1.1. [ ] Definición e historia

Se llama “Linux” específicamente al kernel de un sistema operativo. Este kernel fue creado por Linus Torvalds en 1991 y liberado como software Open Source (Código Abierto) bajo licencia GNU GPL (GNU Privacy Licence) de manera que cualquiera pueda mejorarlo, extenderlo y modificarlo para sus propias necesidades. La condición de esta licencia es que se publiquen nuevamente esas fuentes modificadas, junto con una copia de la propia licencia.

Por extensión, se llama "GNU/Linux" o "Linux" a secas al sistema operativo, que consta de un conjunto de herramientas, servicios y archivos de configuración, y que permite aprovechar la potencia y confiabilidad de ese kernel. De ahora en más, se utilizará cualquiera de ambos términos para referirse al sistema operativo en sí, a menos que se indique lo contrario.

GNU/Linux, como sistema operativo, no es de ninguna manera un Unix. Es simplemente un sistema operativo “como Unix” (Unix-like). Es decir, toma conceptos, ideas y técnicas de Unix, agregando muchas cosas nuevas, para obtener un producto mucho más versátil, extensible y práctico.

1.2. [ ] Conceptos básicos: multiusuario, multitarea, versatilidad, monoraíz

Linux ha sido escrito desde las bases para ser multiusuario, proveer poderosas capacidades multitarea, y una versatilidad ilimitada.

Multiusuario: significa que cada proceso puede ser ejecutado con un usuario diferente, proveyendo así limitaciones básicas a cada uno. Esta capacidad se usa extensivamente y se recomienda aprovecharla. Por ejemplo, cada servicio suele ser ejecutado con su propio usuario, limitando así en caso de un ataque a los permisos asignados a dicho usuario.

Multitarea: es la capacidad de ejecutar múltiples tareas sin que interfieran unas con otras. En el sistema en el cual está siendo escrito este tutorial en este momento, se ejecutan más de 160 procesos y unos 380 threads; esto incluye servicios como DNS, DHCP, proxy, y servidor HTTP, así como máquinas virtuales. La memoria usada es de unos 3,7GB incluyendo las dos máquinas virtuales.

Versatilidad: es la posibilidad de ser utilizado en distintos ambientes, para enorme cantidad de fines distintos, sobre distintas plataformas e infinitos servicios. Desde celulares y minicomputadoras de todo tipo, hasta supercomputadoras con miles de procesadores y almacenamiento de miles de TB; desde centro de datos para servicios críticos de empresas, hasta computadoras de escritorio y multimedia.

Monoraíz: como los Unix, Linux está basado en el concepto de “raíz única”, es decir que todos los directorios penden de una sola raíz base y no hay letras de unidades. Los dispositivos de almacenamiento son accedidos luego de seguir un procedimiento que se denomina “montar” y que deja disponibles al usuario los archivos contenidos en ellos en una carpeta del árbol de directorios.

1.3. [ ] Conceptos previos: particionamiento, particiones primarias, extendidas y lógicas, GPT

Las particiones primarias, extendidas y lógicas es el sistema de particionamiento basado en DOS sobre el que está diseñado todo el hardware x86 que se usa actualmente. Se llama MBR (Master Boot Record), es de 32 bits y está limitado a unidades de almacenamiento de 2TB. Por ello se ideó un nuevo sistema denominado GPT (GUID Partition Table) que es de 64 bits y utiliza identificadores globales únicos (GUID, Globally Unique IDentifiers) para guardar la información de las particiones.

GPT permite hasta 128 particiones, las que son todas del mismo nivel, es decir no existe diferencias entre ellas como en MBR.

1.4. [ ] Terminología básica

Bash: es uno de los intérpretes de comandos más utilizados. Permite ejecutar comandos y desarrollar scripts para automatizar tareas. Posee una gran funcionalidad

boot manager: es el programa que inicia el sistema operativo. Se instala en el MBR y si hay varios sistemas operativos instalados en la misma computadora, permite iniciar cada uno por separado

Manejador de ventanas: en inglés “Window Manager”. Es una capa de software sobre el sistema X Window, y que provee la funcionalidad de ventanas para mover, minimizar, maximizar, apilar, etc. las aplicaciones. Las aplicaciones y programas gráficos corren dentro de las ventanas provistas por el manejador de ventanas

MBR (Master Boot Record): es una pequeña porción al inicio de un disco rígido, que es ejecutada por la BIOS al encender una computadora

montar: acción de hacer visibles para el usuario los archivos de un sistema de archivos, conectando éste a una carpeta del árbol de directorios

particionar: acción de dividir una unidad de almacenamiento en particiones, que luego pueden ser usadas para separar las distintas porciones del sistema operativo

raíz: en inglés también “root”. Es el directorio principal, de más alto nivel, de un sistema de archivos Unix. De él penden el resto de las carpetas del sistema operativo

root: usuario administrador del sistema. También se llama “superuser”

shell: también denominado “consola” o “terminal”. Es una interfaz de texto para interactuar con el sistema operativo, que permite la ejecución de comandos

sistemas de archivos: en inglés “filesystems”. Son los diferentes sistemas de organización de archivos en unidades de almacenamiento, de los cuales Linux puede utilizar una gran variedad, cada uno con sus ventajas y desventajas: ext4, ext3, NTFS, FAT32, vfat, BtrFS, ReiserFS, XFS, GFS2, JFS, etc.

X Window System: llamado simplemente “las X” o “sistema X”, es el motor gráfico que provee las primitivas de acceso al hardware de vídeo, y que permite interactuar de manera gráfica con el sistema operativo. Sobre éste se ejecutan manejadores de ventanas y aplicaciones gráficas

1.5. [ ] Utilidad: ¿para qué sirve? ¿para qué se usa?

Es un sistema operativo extremadamente versátil, por lo que puede usarse prácticamente en cualquier ámbito y para resolver el tema que sea. Algunos ejemplos a continuación:

  • Estación de trabajo: como reemplazo de otros sistemas operativos, para realizar todo tipo de tareas, desde procesamiento de texto, cálculo y gráficos, hasta tratamiento de imágenes, CAD/CAM y muchas otras cosas
  • Servidor: brindando servicios como web server, proxy, DHCP, DNS, firewall, almacenamiento de archivos, aplicaciones, bases de datos, sistemas de archivos distribuídos, virtualización
  • Sistemas embebidos: al tener la posibilidad de modificar y adaptar el código todo lo necesario, se puede reducir su tamaño para poder utilizarlo en controladores y toda clase de sistemas embebidos
  • Celulares: el sistema operativo Android, presente hoy en día en la mayoría de los celulares, es una versión modificada y reducida del kernel Linux y utilitarios
  • Otros dispositivos: reproductores multimedia, teclados electrónicos, televisores inteligentes, sistemas de navegación, sistemas de automóviles
  • Militares: es la base de sistemas operativos presentes en electrónica militar de todo tipo
  • Científicos: se utiliza extensivamente en investigación, como supercomputadoras, renderización gráfica, cálculo de alto rendimiento, bases de datos masivas
  • Nube: las nubes públicas más conocidas funcionan ofreciendo sus servicios gracias al sistema operativo Linux que corre sobre miles de servidores en cluster
  • Empresas: la mayoría de las empresas más grandes de hoy utilizan Linux. Como ejemplos valen Amazon, Banco Itaú, Boeing, CERN, Dreamworks, Facebook, Google, IBM, Industrial Light & Magic, NASA, Peugeot, Pixar, Twitter, Virgin
  • Gobiernos: alrededor del mundo, muchos gobiernos nacionales, provinciales, regionales y municipales usan Linux, incluyendo el Gobierno argentino

1.6. [ ] Distribuciones: concepto y ejemplos

Se denomina “distribución”, o “distro” a un conjunto de herramientas de software, más kernel Linux, empaquetados de alguna manera por una institución o empresa. La mayoría de ese software suele ser Open Source. En muchos casos, las distribuciones son gratuitas. No así en otros.

Ejemplos son:

  • Arch
  • CentOS
  • Debian
  • Gentoo
  • RedHat
  • SuSE
  • Slackware
  • Ubuntu
  • Ututo

1.7. [ ] Sitios recomendados en castellano y en inglés

En castellano

En inglés

2. Instalación

Objetivos

Incorporar las técnicas y conocimientos necesarios para instalar exitosamente el sistema operativo, y dejarlo funcionando adecuadamente.

2.1. [ ] Obtención de información sobre el sistema

Es altamente recomendable conocer el hardware sobre el que se va a instalar el sistema operativo. Especialmente antes de la compra del mismo. La mayor parte del hardware existente hoy en día funciona correctamente con Linux, pero en ocasiones pueden ocurrir inconvenientes, incompatibilidades o directamente no funcionar.

Las fuentes de obtención de información del hardware son variadas, a saber: sitio del fabricante, BIOS, manuales, observación visual, software de información.

Una manera fácil y práctica de revisar el hardware es iniciar el sistema con una distribución de rescate como System Rescue CD y luego ejecutar las herramientas básicas que provee Linux:

  • Bus PCI: lspci
  • Hardware: lshw, dmidecode
  • CPU: cat /proc/cpuinfo
  • Particiones: cat /proc/partitions
  • Estado de discos: smartctl
  • Memoria disponible: free

2.2. [ ] Cuidados

En general no se debe tener cuidados especiales al instalar Linux. Sí es importante tomar recaudos en caso de que se lo esté instalando en un disco con otros sistemas operativos.

En este caso, es muy importante realizar una copia de resguardo si hay datos importantes en el sistema operativo ya instalado, dado que si ocurre cualquier inconveniente pueden perderse.

Respecto al hardware, si el sistema operativo se usa en forma normal, no hay razón por la que pueda dañarse.

Si se está realizando experimentación, Linux provee una gran cantidad de herramientas de acceso a recursos de bajo nivel. Si son mal utilizadas éstas sí pueden dañar el hardware en forma irreversible.

2.3. [ ] Instalación de Debian: texto, gráfica, particionamiento

Debian puede ser instalado de varias maneras diferentes, cada una con sus ventajas y desventajas.

Primero, se debe elegir un medio de instalación, que puede ser un CDROM o un DVD. En el segundo caso, los paquetes disponibles son más abundantes que en el primero. Además, puede instalarse desde un CD mínimo, o desde la red, utilizando un CD netinstall.

En cualquier caso, luego se pueden agregar más paquetes, de todos los disponibles para Debian, así como instalar software extra de todo tipo y de diversas fuentes.

La instalación recomendada es la de texto, simplemente porque es la forma más rápida y simple de hacerlo, y funciona siempre sin inconvenientes. La instalación gráfica es casi exactamente igual, con la misma funcionalidad, pero depende de que todos los componentes de hardware involucrados funcionen correctamente con los drivers existentes en el medio de instalación.

También se puede instalar el sistema operativo de manera básica en una partición mínima, de unos 4GB, y luego particionar el espacio libre, y configurar lo necesario.

El esquema de particionamiento recomendado es altamente variable dependiendo de las necesidades y del destino que se le de al sistema.

Debian recomienda un mínimo de 1GB en la partición raíz si no se utilizará la interfaz gráfica, y 5GB si se desea instalarla.

Para una estación de trabajo, con un disco moderno de 500GB o más, se puede instalar todo en una sola partición para la raíz, y un espacio de swapping. Por ejemplo:

  1. swapping: si el sistema dispone de mucha RAM, digamos de 8 a 16GB, se puede crear una partición para intercambio de unos 4 a 8GB, obteniendo de 12 a 24GB totales de memoria.
  2. raíz: la raíz será el resto del disco rígido. Una instalación que incluya el escritorio, así como utilitarios gráficos de todo tipo incluyendo la suite de oficina LibreOffice, ocupa menos de 5GB.

Para un servidor básico, puede recomendarse algo como:

  1. swapping: si el sistema dispone de mucha RAM, digamos de 16 a 64GB, se puede crear una partición para intercambio de unos 8 a 16GB, obteniendo de 24 a 80GB totales de memoria. Obviamente lo ideal es que el sistema no utilice en forma intensiva el swapping. Un servidor adecuadamente dimensionado y administrado puede no necesitar intercambio.
  2. raíz: para Debian se necesita aproximadamente un mínimo de 1GB
  3. /tmp: el directorio temporal es muy importante, y su tamaño y uso dependerá de para qué se use el sistema. Básicamente recomiendo unos 4GB.
  4. /usr: aquí se instalarán binarios, archivos de datos varios, algunos archivos de configuración, manuales y algunas otras cosas como imágenes e íconos; datos estáticos en general. Generalmente es suficiente con 4 a 10GB.
  5. /var: lo contenido aquí tiene típicamente tamaño extremadamente variable. Cosas que se almacenan aquí generalmente son bases de datos, logs del sistema, spoolers de correo-e e impresión, cachés. Suponiendo un disco de 1TB, suelo usar unos 400GB.
  6. /datos (o /srv): es la partición donde se almacenarán los archivos de la empresa, usuarios, y toda clase de datos útiles directamente a las personas de la institución. Por lo tanto, siguiendo con el supuesto de una unidad de almacenamiento de 1TB, asigno el resto de la misma a esta función, dejando así más de 500GB disponibles.
  7. /home: habitualmente este directorio contiene archivos muy pequeños que se crean automáticamente al dar de alta a los usuarios. Si no se necesita que los usuarios almacenen archivos personales, con que penda de la raíz es suficiente.

2.4. [ ] Instalación de CentOS: gráfica, texto, particionamiento

CentOS puede ser instalado de varias maneras diferentes, cada una con sus ventajas y desventajas.

Primero, se debe elegir un medio de instalación, que puede ser un CDROM o un DVD. En el segundo caso, los paquetes disponibles son más abundantes que en el primero. Además, puede instalarse desde un CD mínimo, o desde la red, utilizando un CD netinstall.

En cualquier caso, luego se pueden agregar más paquetes, de todos los disponibles para CentOS, así como instalar software extra de todo tipo y de diversas fuentes.

La instalación recomendada es la gráfica, dado que la de texto tiene escasa funcionalidad. Por ejemplo, no permite realizar un particionamiento adecuado.

De todas maneras, si se desea realizar un particionamiento personalizado avanzado, se debe utilizar primero el comando fdisk o el comando parted, y luego de tener el esquema de particionamiento deseado, lanzar la instalación. De esta manera, el instalador permitirá montar cada partición en su punto de montaje, y así finalizar la instalación tal como se necesita.

También se puede instalar el sistema operativo de manera básica en una partición mínima, de unos 5GB, y luego particionar el espacio libre, y configurar lo necesario.

El esquema de particionamiento recomendado es altamente variable dependiendo de las necesidades y del destino que se le de al sistema.

CentOS recomienda un mínimo de 5GB en la partición raíz.

Para una estación de trabajo, con un disco moderno de 500GB o más, se puede instalar todo en una sola partición para la raíz, y un espacio de swapping. Por ejemplo:

  1. swapping: si el sistema dispone de mucha RAM, digamos de 8 a 16GB, se puede crear una partición para intercambio de unos 4 a 8GB, obteniendo de 12 a 24GB totales de memoria.
  2. raíz: la raíz será el resto del disco rígido. Una instalación que incluya el escritorio, así como utilitarios gráficos de todo tipo incluyendo la suite de oficina LibreOffice, ocupa menos de 5GB.

Para un servidor básico, puede recomendarse algo como:

  1. swapping: si el sistema dispone de mucha RAM, digamos de 16 a 64GB, se puede crear una partición para intercambio de unos 8 a 16GB, obteniendo de 24 a 80GB totales de memoria. Obviamente lo ideal es que el sistema no utilice en forma intensiva el swapping. Un servidor adecuadamente dimensionado y administrado puede no necesitar intercambio.
  2. raíz: para CentOS se necesita un mínimo de 5GB. De otra manera el instalador no permitirá continuar
  3. /tmp: el directorio temporal es muy importante, y su tamaño y uso dependerá de para qué se use el sistema. Básicamente recomiendo unos 4GB.
  4. /usr: aquí se instalarán binarios, archivos de datos varios, algunos archivos de configuración, manuales y algunas otras cosas como imágenes e íconos. Generalmente es suficiente con 4 a 10GB.
  5. /var: lo contenido aquí tiene típicamente tamaño extremadamente variables. Cosas que se almacenan aquí típicamente son bases de datos, logs del sistema, spoolers de correo-e e impresión, cachés. Suponiendo un disco de 1TB, suelo usar unos 400GB.
  6. /datos (o /srv): es la partición donde se almacenarán los archivos de la empresa, usuarios, y toda clase de datos útiles directamente a las personas de la institución. Por lo tanto, siguiendo con el supuesto de una unidad de almacenamiento de 1TB, asigno el resto de la misma a esta función, dejando así más de 500GB disponibles.
  7. /home: habitualmente este directorio contiene archivos muy pequeños que se crean automáticamente al dar de alta a los usuarios. Si no se necesita que los usuarios almacenen archivos personales, con que penda de la raíz es suficiente.

Bibliografía

3. Conociendo el funcionamiento de Linux

Objetivos

Adquirir conocimientos sobre el sistema de inicio, los permisos, los servicios y el manejo de dispositivos del sistema operativo, así como aprender a encontrar la información necesaria para consultar.

3.1. [ ] Estructura de directorios: concepto, árbol de directorios, contenido, proc, dev, sys

La estructura del árbol de directorios es muy parecida de una distribución a otra, aunque puede variar sensiblemente. La raíz del sistema operativo es representada simplemente por la barra común “/”.

La mayoría de las distribuciones adhieren hoy en día al Filesystem Hierarchy Standard (FHS), que define cómo debe estar compuesto el árbol de directorios, y qué cosa debe ir en cada uno. Así, en un Linux moderno, los directorios de primer nivel y su contenido típicamente son:

  • bin: comandos binarios esenciales
  • boot: archivos estáticos necesarios para el arranque, incluyendo el kernel
  • dev: archivos de dispositivos
  • etc: configuración del sistema operativo y sus sistemas y servicios
  • home: directorios de inicio de cada usuario
  • lib: librerías esenciales del sistemas y módulos del kernel
  • media: puntos de montaje para medios removibles
  • mnt: puntos de montaje estáticos
  • opt: paquetes de software agregados al sistema
  • proc: sistema de archivos virtual de información del kernel y procesos
  • root: directorio de inicio del usuario root
  • sbin: comandos esenciales del sistema
  • selinux: sistema de archivos virtual de SELinux
  • srv: datos para servicios provistos por el sistema
  • sys: sistema de archivos virtual de información del sistema
  • tmp: archivos temporales
  • usr: archivos estáticos binarios ejecutables y librerías, manuales, gráficos, ejemplos, de sólo lectura y compartidos para todos los usuarios
  • var: almacenamiento de datos variables

3.2. [ ] Proceso de arranque: init, runlevels, comandos: service, chkconfig

Un aspecto muy importante de los Linux es el sistema de arranque, el cual es simple, configurable, transparente y muy poderoso. El administrador puede personalizar y ajustar cada parte de este proceso con completa seguridad de que las cosas funcionarán como lo desea.

De la misma manera, el proceso de apagado es configurable y adaptable a las necesidades de cada caso.

  1. La BIOS revisa el sistema y lanza la primera fase del manejador de inicio que reside en el MBR
  2. El manejador de inicio lanza la segunda fase desde el directorio /boot
  3. Esta fase es la encargada de cargar el kernel en memoria, lo que cargará los módulos necesarios y montará la partición raíz en modo de sólo lectura
  4. El kernel transfiere el proceso de inicio al programa /sbin/init
  5. Éste cargará todos los servicios y herramientas de nivel de usuario, y montará las particiones listadas en /etc/fstab
  6. Luego de finalizar estos procesos, se presentará al usuario una pantalla de ingreso

Linux provee varios runlevels, del 0 al 6. Cada uno se utiliza para iniciar o detener servicios de manera automática. Así:

  • runlevel 0: halt. Es el runlevel que se inicia cuando se desea apagar el equipo
  • runlevel 1: single. En este nivel se realizan tareas administrativas especiales, ya que ningún proceso estará corriendo
  • runlevel 2: por defecto en Debian y derivados, tanto para modo de texto como modo gráfico
  • runlevel 3: por defecto en RedHat y derivados, para modo texto
  • runlevel 4: no se usa
  • runlevel 5: por defecto en RedHat y derivados, para modo gráfico
  • runlevel 6: restart. Se cambia a este runlevel cuando se desea reiniciar el equipo

Para controlar los diferentes runlevels, se utilizan los comandos shutdown y telinit, a saber:

  • shutdown: para apagar o reiniciar el equipo
    • Reiniciar: shutdown -r now
    • Apagar: shutdown -h now
  • telinit: para cambiar de runlevel. P. ej. para cambiar a runlevel 1: telinit 1

Los servicios del sistema pueden iniciarse, reiniciarse y detenerse con el comando service. La configuración respecto a qué servicio se iniciará o detendrá automáticamente en los diferentes runlevels, se realiza con el comando chkconfig.

Por ejemplo, para reiniciar el servidor SSH:

/sbin/service sshd restart

Para revisar en qué runlevels se iniciará este demonio:

chkconfig --list sshd

Configurar su inicio en los runlevels 2, 3, 4 y 5:

chkconfig --level 2345 sshd on

Para configurar que no inicie en dichos runlevels:

chkconfig --level 2345 sshd off

3.3. [ ] Permisos, usuarios y grupos

El sistema de permisos de Linux es sumamente simple, práctico, eficiente y seguro. Se basa en permisos de archivos, y usuarios y grupos propietarios de los mismos.

Para cada entrada de un sistema de archivos, sea archivo o directorio, hay un indicador de tipo, y tres grupos de permisos:

dr-xr-xr-x. 2 root root 4096 may 11 20:45 /bin
  • El primer carácter, d en este caso, indica que es un directorio
  • Los tres siguientes r-x, son los permisos para el propietario
  • Los tres del medio r-x, son los permisos para el grupo propietario
  • Los últimos tres r-x, son los permisos para “otros”, es decir, para aquellos usuarios que no son el propietario ni pertenecen al grupo propietario
  • El número 2 que sigue indica, si es un directorio la cantidad de subdirectorios que contiene, incluyendo . y ..; si es un archivo, indica la cantidad de hardlinks existentes para el mismo
  • La primer palabra root es el propietario, en este caso el usuario root
  • La segunda palabra root es el grupo propietario
  • El valor numérico, 4096 en este caso, es el número de bloques ocupados. Si fuese un archivo, indica el tamaño del mismo
  • Luego viene la fecha y hora de modificación

3.4. [ ] Montando y desmontando sistemas de archivos

Montar un sistema de archivos significa hacer visibles al operador los archivos contenidos en él. Esos archivos pueden estar en un dispositivo de almacenamiento local, extraíble o no, o ser exportados por un servidor remoto, entre otras posibilidades.

Para montarlo, se necesita un directorio vacío creado al efecto, que se denomina punto de montaje. Estos directorios habitualmente son creados dentro del directorio /mnt.

Por ejemplo, para montar un pendrive:

mkdir /mnt/pendrive

Insertar luego el pendrive en un puerto USB, y montarlo:

mount /dev/sdb1 /mnt/pendrive

Donde sdb1 es el nodo asignado al mismo por el kernel, cosa que se puede ver en el archivo /var/log/messages, o bien ejecutando un cat /proc/partitions

3.5. [ ] Servidores: definición, demonios, posibilidades, iniciando y deteniendo demonios

Además de al equipo físico, se llama servidor a un proceso que brinda servicios de diferente índole. También se lo denomina demonio.

Ejemplos son los servicios Apache, Samba, NFS, Bind9, DHCP, y muchos otros. Así, el servicio HTTP provisto por Apache, es brindado por el demonio httpd; el servicio DNS ofrecido por Bind9, es brindado por el demonio named.

El objetivo del servidor físico es centralizar la información, así como la configuración, de los servicios que son provistos a las estaciones cliente.

En la mayoría de los Linuxes modernos, los servicios se controlan con el comando service.

Para ver el estado de un servicio:

service sshd status

Para detenerlo e iniciarlo:

service sshd stop
service sshd start

3.6. [ ] Servicios más comunes en un servidor: Samba, NFS, httpd, DHCP, proxy, firewall, SSH, mail, impresión, DNS, FTP, virtualización

Entre muchos otros servicios importantes hoy día, algunos comunes, prácticos y confiables son:

  • Samba: provee compartición de archivos e impresoras, principalmente para estaciones Windows. Puede simular un Primary Domain Controller completo en la versión 4, mientras que en la 3 provee la mayoría de las funciones, pero es más limitado
  • NFS: provee compartición de archivos para clientes Linux y Unix
  • httpd: provee como su nombre lo indica protocolo HTTP/HTTPS. Los más usados son Apache y Nginx
  • DHCP: ofrece configuración dinámica de hosts. En conjunto con un DNS, permite configurar una red por completo con asignación dinámica de IPs a nombres de host
  • proxy: permite almacenar localmente archivos descargados de Internet, de manera que al ser accedidos nuevamente pasen desde el servidor directamente a la estación cliente, sin tener que ser descargados nuevamente. Además, provee permisos de acceso a Internet, así como otros servicios. El más usado es Squid
  • firewall: controla el tráfico de red de entrada y salida, bloqueando accesos no permitidos y permitiendo la salida o entrada de conexiones según reglas preestablecidas, entre otras posiblidades
  • SSH: brinda acceso encriptado a servidores, proveyendo al mismo tiempo una gran funcionalidad relacionada a la administración remota de los mismos
  • mail: ofrece administración de correo electrónico, ruteo de entrada y salida, permisos, almacenamiento, filtro de spam y virus, entre otros servicios. Como SMTP puede mencionarse a Postfix y Exim, y como demonios POP3/IMAP a Cyrus, Courier o Dovecot.
  • DNS: resuelve nombres de host en su o sus respectivas direcciones IP, y viceversa. En conjunto con DHCP resulta muy útil para administrar intranets complejas
  • FTP: provee transferencia simple de archivos
  • virtualización: es la capacidad de emular por software algún tipo de hardware. Permite aprovechar realmente un servidor físico, instalando máquinas virtuales, cada una con diferentes sistemas operativos y variado software. Algunos sistemas de virtualización son KVM, Xen y vserver.
linux/conociendo_el_funcionamiento_de_linux.1411060752.txt.gz · Última modificación: 2017/03/07 11:32 (editor externo)