Anatomía y Comandos Esenciales de Linux: Kernel, Shell y Administración
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,14 KB
El Kernel: El núcleo de Linux es el componente más importante del sistema operativo. Sin este corazón, nada podría funcionar. Las tareas principales del kernel son:
- A) Planificación de Procesos: Gestiona la ejecución de los diferentes procesos, distribuyendo el tiempo según prioridades y algoritmos.
- B) Gestión de E/S y Sistema de Ficheros: Administra la entrada/salida y la jerarquía del sistema de ficheros.
- C) Control de Hardware: Administra las funciones de bajo nivel para controlar el hardware.
La Shell: La Shell de Linux es el programa que recibe información del usuario a través de la entrada estándar (órdenes o ficheros) y la transforma en instrucciones comprensibles por el Kernel. Se pueden crear miniprogramas, llamados archivos de procesamiento por lotes, para automatizar tareas. En Linux, estos procesos por lotes se conocen como scripts, suelen tener la extensión .sh
, y son un verdadero lenguaje de programación.
Proceso de Arranque de Linux
El proceso de arranque inicializa el sistema operativo. El núcleo (kernel) asigna los recursos de la máquina a los programas que se ejecutan. GRUB se carga y se ejecuta en cuatro etapas:
- Etapa 1: El BIOS lee la primera etapa del cargador desde el MBR (Master Boot Record).
- Etapa 2: La primera etapa carga el resto del gestor de arranque (segunda etapa). Si la segunda etapa está en una unidad grande, se carga una fase intermedia 1.5, que contiene código adicional para permitir la lectura de cilindros por encima de 1024 o unidades tipo LBA. El gestor de arranque 1.5 se almacena (si es necesario) en el MBR o en la partición de arranque.
- Etapa 3: La segunda etapa del gestor de arranque ejecuta y muestra el menú de inicio de GRUB, permitiendo al usuario elegir un sistema operativo y modificar los parámetros de inicio.
- Etapa 4: Después de elegir un sistema operativo, se carga y se le pasa el control.
GRUB soporta métodos de arranque directo, arranque chain-loading, LBA, ext2, ext3, ext4 y hasta "un pre-sistema operativo en máquinas x86 totalmente basado en comandos". Contiene tres interfaces: un menú de selección, un editor de configuración y una consola de línea de comandos.
GRUB comprende los sistemas de archivos comunes ext2, ext3 y ext4. Almacena sus datos en un archivo de configuración en lugar del MBR y contiene una interfaz de línea de comandos, lo que facilita su modificación o reparación en caso de configuración incorrecta o corrupción.
Ejemplos de gestores de paquetes:
- Debian:
apt .deb
- Ubuntu:
apt .deb
- Red Hat:
RPM/YUM .rpm
Comandos Básicos de Administración de Usuarios y Permisos
Comandos para la gestión de usuarios, grupos y permisos:
chown
: Maneja el dueñochgrp
: Asigna el grupochmod
: Asigna los permisos rwx
Ejemplos:
chown + usuario + archivo
chgrp + usuario + archivo
Comandos para la gestión de usuarios y grupos:
useradd
,passwd
,usermod
groupadd
ygroupmod
adduser + nombre
Permisos en Linux
Estructura de permisos:
Usuario Grupo Otros r->w->x r->w->x r->w->x 4 2 1 4 2 1 4 2 1 7 7 7
Sticky Bit
Ejemplo de uso de sticky bit:
chmod 1755 prueba_sticky/ rm -rf prueba_sticky/ [user@test archivos]$ chmod 1755 dirtest/ [user@test archivos]$ ls -l total 8 drwxr-xr-t. 2 hvivani group 4096 sep 6 09:32 dirtest
SUID y SGID
Ejemplos de uso de SUID y SGID:
- SUID:
chmod u+s aplicación
(añadir suid)chmod u-s aplicación
(quitar suid)
- SGID:
chmod g+s aplicación
(añadir sgid)chmod g-s aplicación
(quitar sgid)
Comandos Adicionales de Usuario
useradd -d nombre-usuario
-> home# passwd miusuario
usermod -a -G wheel usuario
# usermod -c "Nuevo-Nombre-Usuario" nombredeusuario
userdel -r pruebas
-> user + directorio
Comandos de manipulación de ficheros y directorios
mkdir /tmp/pepe2
cp home /tmp/pepe3/
mv pepe2 /tmp/pepe3/
chmod a+x /tmp/pepe3
chmod a-w /tmp/pepe3
rm -R directorio_que_quieres_borrar
Scripts en Bash
Estructura básica de un script:
#!/bin/bash -> Primera linea (lineas a ejecutar)
Ejecución de un script:
[root@localhost Escritorio]# chmod 777 /home/alumno/Escritorio/script.sh [root@localhost Escritorio]# ./script.sh -> ejecuta script