¡Esta es una revisión vieja del documento!
Tabla de Contenidos
-
3.6. [ ] Servicios más comunes en un servidor: Samba, NFS, httpd, DHCP, proxy, firewall, SSH, mail, impresión, DNS, FTP, virtualización
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.
La BIOS revisa el sistema y lanza la primera fase del manejador de inicio que reside en el MBR
El manejador de inicio lanza la segunda fase desde el directorio /boot
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
El kernel transfiere el proceso de inicio al programa /sbin/init
Éste cargará todos los servicios y herramientas de nivel de usuario, y montará las particiones listadas en /etc/fstab
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:
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.1411584075.txt.gz · Última modificación: 2017/03/07 11:32 (editor externo)