Configuración Avanzada de Redes y Gestión de Permisos en Sistemas Operativos Linux
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 8,82 KB
Configuración de Interfaces de Red en Linux
A continuación, se muestra un ejemplo de configuración de interfaces de red, típicamente ubicado en /etc/network/interfaces:
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address [DIRECCIÓN_IP] netmask [MÁSCARA_DE_RED] gateway [PUERTA_DE_ENLACE]
Con el comando “dmesg” podemos leer los sucesos y eventos que ocurren al iniciar el sistema.
Para configurar una interfaz de red temporalmente (sin guardar la configuración de forma persistente):
ifconfig nombreInter IP netmask máscara
Esta configuración no se guarda si se reinicia el servicio de red con /etc/init.d/networking restart.
Reenvío de Paquetes (IP Forwarding)
Activamos ip_forward (estableciéndolo a 1), lo cual nos permitirá enviar paquetes entre los equipos (función de router).
Esto se realiza en el fichero /etc/sysctl.conf. Descomentamos la línea para ip_forward quitando el carácter “#”.
Permisos Especiales de Ficheros
Existen tres bits especiales que modifican el comportamiento de los permisos tradicionales:
BIT SETUID (S)
Activado, indica que quien ejecute el fichero tendrá los mismos privilegios que el creador (propietario) del archivo.
BIT SETGID (S)
Igual que el anterior, pero para el grupo.
BIT STICKY (T)
Si se aplica a un programa, indica que este cargará en la memoria RAM y permanecerá allí para evitar obtenerlo desde el disco duro (HDD). Si se aplica a un directorio, impide que los usuarios borren archivos, excepto los suyos propios (útil en directorios compartidos).
Listas de Control de Acceso (ACL)
Las ACL (Access Control Lists) intervienen en situaciones donde los permisos tradicionales son insuficientes. Permiten asignar permisos específicos a usuarios y grupos especiales que no son los principales propietarios o miembros del grupo principal.
Pasos para la Configuración de ACL
Compatibilidad del Kernel: Verificar si el Kernel es compatible. Buscar el archivo
/boot/config-nucleo-. Las directivas deben estar configuradas en y (yes), por ejemplo:CONFIG_EXT..._ACL=y.Instalación: Instalar el paquete necesario:
apt-get install acl.Montaje del Sistema de Ficheros: Modificar /etc/fstab y añadir el atributo acl. Ejemplo:
acl,errors=remount-ro 0.Remontar el Sistema de Ficheros: Volver a montar el sistema de ficheros para aplicar los cambios:
#mount -o remount,acl /
Comandos de Gestión de ACL
#getfacl f1: Devuelve los permisos ACL de un fichero o directorio.#Setfacl -m u:us01:rw- f1: Modifica los permisos ACL (en este caso, otorga lectura y escritura al usuarious01en el ficherof1).#Setfacl -b f1: Borra todas las ACL del ficherof1.
Gestión de Permisos y Cuentas de Usuario
Configuración de Sudo
Para permitir que un usuario (usr1) ejecute solo un comando específico (/sbin/ifconfig) utilizando sudo, se debe añadir una entrada en el fichero de configuración de sudo:
usr1 ALL=(ALL) NOPASSWD: /sbin/ifconfig
El comando para editar esta configuración de forma segura es sudo visudo. Los permisos se guardan en /etc/sudoers (aunque visudo edita el archivo de forma temporal y segura).
Cálculo de Permisos Base
Los permisos base son 777 para directorios y 666 para ficheros. A esta cifra se le resta la umask (máscara de creación de ficheros), que suele ser 022.
Ficheros de Configuración de Cuentas
Ficheros de configuración por defecto para nuevos usuarios: /etc/skel
Datos relativos a la cuenta (sin contraseña): /etc/passwd
Contiene 7 campos: Nombre de usuario | Contraseña (marcador 'x') | UID | GID | Nombre completo | Directorio personal | Programa intérprete de comandos (shell)
Contraseña encriptada y datos de caducidad: /etc/shadow
Datos de grupos: /etc/group
Contiene 4 campos: Nombre del Grupo | Clave (marcador 'x') | GID | Usuarios miembros
Protocolos Fundamentales de Red TCP/IP
TCP (Transmission Control Protocol)
Protocolo que garantiza que los datos serán entregados en su destino sin errores y en el mismo orden en que se transmitieron. Proporciona un mecanismo para distinguir distintas aplicaciones dentro de una misma máquina mediante el concepto de puerto.
UDP (User Datagram Protocol)
Protocolo que permite el envío de datagramas sin conexión. No garantiza el orden de llegada ni la llegada misma. Ofrece un tiempo de respuesta menor que TCP. Usado en servicios como DHCP y en la transmisión de video y audio en tiempo real.
ICMP (Internet Control Message Protocol)
Avisa de errores en el procesamiento de los paquetes IP y controla los ordenadores que participan en el intercambio de datos. Es un protocolo complementario a IP. Usado en herramientas como Ping.
IP (Internet Protocol)
Protocolo de Internet, mecanismo de interconexión de redes de comunicación de ordenadores basado en la conmutación de paquetes.
El tamaño máximo de cada paquete TCP/IP (MTU) es de aproximadamente 1500 bytes.
MAC (Media Access Control)
Número único de 48 bits asignado a la tarjeta de red (Ethernet).
IPv4 (Internet Protocol version 4)
Protocolo de comunicación de Internet que utiliza direcciones de 32 bits. El total de direcciones posibles es 232, lo cual resulta insuficiente para las necesidades actuales.
IPv6 (Internet Protocol version 6)
Utiliza direcciones de 128 bits (Total 2128). Ofrece ventajas como: más direcciones, configuración automática, compatibilidad con IPv4 y soporte nativo para Multicasting.
Mientras que IPv4 utiliza broadcast (a todos) y unicast (a un ordenador), IPv6 utiliza unicast, broadcast y multicast (a un grupo).
Niveles de Ejecución y Arranque del Sistema
Daemons y Runlevels
Un Demonio (del acrónimo Disk And Execution MONitor) es un proceso que se ejecuta en segundo plano para proporcionar un tipo de servicio. Suelen arrancar al inicio del sistema.
Un Runlevel (Nivel de Ejecución) consiste en ejecutar un conjunto determinado de demonios. Generalmente hay 7 niveles en Linux (del 0 al 6). Podemos cambiar a otro nivel escribiendo init N, donde N es el número del nivel.
Los niveles de ejecución utilizan enlaces simbólicos a scripts de inicio. Los enlaces que empiezan por K (Kill) detienen los demonios, y los que empiezan por S (Start) lanzan los demonios.
Mecanismos de Arranque de Procesos
Hay dos mecanismos principales para arrancar los procesos del sistema:
System V init
Arranca servicios mediante scripts que se encuentran en /etc/init.d. Las tareas se ejecutan de forma síncrona (una tras otra).
Upstart
Gestiona los servicios mediante eventos. Según ocurran los eventos, arranca o para los servicios. Es compatible con los scripts de System V init. Ejecuta tareas de forma asíncrona y en paralelo, y es capaz de supervisar los servicios en funcionamiento.