Documente Academic
Documente Profesional
Documente Cultură
SEMANA 2
Booteo y administración de usuarios
Todos los derechos de autor son de la exclusiva propiedad de IACC o de los otorgantes de sus licencias. No está
permitido copiar, reproducir, reeditar, descargar, publicar, emitir, difundir, poner a disposición del público ni 1
ESTE
utilizarDOCUMENTO
los contenidos paraCONTIENE LAdeSEMANA
fines comerciales 2
ninguna clase.
2
ESTE DOCUMENTO CONTIENE LA SEMANA 2
ÍNDICE
BOOTEO Y ADMINISTRACIÓN DE USUARIOS....................................................................................... 4
OBJETIVOS ESPECÍFICOS ........................................................................................................................... 4
INTRODUCCIÓN ...................................................................................................................................... 4
1. EL PROCESO DE BOOTEO .................................................................................................................. 4
1.1. SMPS Y LA FUENTE DE PODER............................................................................................. 5
1.2. BOOTSTRAPPING ................................................................................................................. 5
1.3. BIOS ..................................................................................................................................... 5
1.4. MBR Y GRUB ........................................................................................................................ 6
1.5. CARGANDO EL KERNEL ........................................................................................................ 8
1.6. INIT Y LOS NIVELES DE EJECUCIÓN ...................................................................................... 9
2. CONFIGURACIÓN DE SERVICIOS....................................................................................................... 10
3. ADMINISTRACIÓN DE USUARIOS ..................................................................................................... 14
3.1. POLÍTICA DE PERMISOS ..................................................................................................... 14
3.2. AGREGANDO USUARIOS.................................................................................................... 17
3.3. MODIFICAR USUARIOS ...................................................................................................... 17
3.4. BORRAR USUARIOS ........................................................................................................... 17
3.5. INTERFAZ GRÁFICA ............................................................................................................ 18
4. EL INSTALADOR DE PAQUETES......................................................................................................... 18
COMENTARIO FINAL.......................................................................................................................... 20
REFERENCIAS........................................................................................................................................ 21
3
ESTE DOCUMENTO CONTIENE LA SEMANA 2
BOOTEO Y ADMINISTRACIÓN DE USUARIOS
OBJETIVOS ESPECÍFICOS
Comprender el proceso de booteo y los scripts asociados.
INTRODUCCIÓN
Se presiona el botón de encendido y el equipo se energiza, después de un par de minutos, carga el
sistema operativo y está listo para trabajar. Eso es lo que la mayoría de las personas sabe del proceso
de booteo de un computador, pero en esta semana se descubrirá que en realidad el proceso es
bastante más complejo que eso.
Se realizará un recorrido paso a paso por el proceso de booteo de un computador desde que este
se energiza hasta que se terminan de cargar los distintos servicios que dependen de nuestro SO.
Además, durante esta semana se dará comienzo a una de las labores más básicas que debe
realizar un administrador, la creación, mantención y borrado de usuarios.
1. EL PROCESO DE BOOTEO
La palabra booteo viene del concepto de “bootstrapping” y se refiere al proceso mediante el cual
el computador es capaz de inicializarse cuando el botón de encendido es presionado gracias a las
instrucciones que recibe de un programa llamado BIOS.
En esta sección se estudiarán las distintas etapas del proceso de booteo, desde que la energía
llega a placa madre del sistema, hasta que se ejecutan los distintos servicios. Entender este
proceso le dará una mayor claridad de cómo interactúan el hardware y el software, así como la
posibilidad de resolver un problema de booteo en alguno de sus sistemas.
4
ESTE DOCUMENTO CONTIENE LA SEMANA 2
1.1. SMPS Y LA FUENTE DE PODER
Uno de los principales componenes de un computador es la SMPS (Switching Mode Power Supply
o Fuente de Alimentación de Modo Conmutado). Esta se encarga de proveer el voltaje adecuado a
la placa madre y los demás componentes que forman parte del equipo.
Por lo general, estos funcionan con corriente continua, pero los enchufes y otras tomas de energía
solo entregan corriente alterna. El objetivo de la SMPS es convertir esta corriente alterna a
continua y, además, mantiene el nivel de voltaje adecuado para que los componentes funcionen
correctamente.
Sin embargo, la función principal de la SMPS es informar acerca del estado de la energía. Si el
voltaje es mayor o menor de lo adecuado el computador no puede funcionar. Al momento de
encender el equipo, la SMPS revisa el voltaje que está siendo entregado a la placa madre. Si la
señal de energía es normal la SMPS envía una señal de POWER GOOD a la placa madre.
Apenas la placa madre recibe la señal de POWER GOOD, la placa madre deja de enviar la
instrucción de reset a la CPU. Cuando todo esto ocurre el equipo finalmente puede bootear.
1.2. BOOTSTRAPPING
En informática muchos procesos tienen que estar programados “en duro”, como los que
conciernen a la CPU, para que sepa dónde buscar las primeras instrucciones. Esta ubicación “en
duro” es la dirección de memoria FFFF:000h de la memoria ROM.
Dentro de esta ubicación de memoria solo se encuentra una instrucción. Esta instrucción es una
instrucción de salto hacia otra dirección de memoria. Este comando de JUMP le indicará a la CPU
cuál es la ubicación de la BIOS dentro de la ROM.
En este punto del proceso el computador ya “sabe” dónde está la BIOS y la puede ejecutar.
1.3. BIOS
BIOS (Basic Input Output System o Sistema Básico de Entrada-Salida) y su función principal durante
el booteo es realizar el POST (Power On Self Test o Autoprueba de Encendido). El POST consiste en
una serie de pruebas que tiene como objetivo confirmar el funcionamiento de los distintos
componentes del sistema.
Es importante realizar una prueba de funcionamiento antes de cargar el sistema operativo (SO).
Imagine que tiene una memoria con problemas o un disco duro dañado; este es el tipo de cosas
que causa pérdida y corrupción de datos.
5
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Una prueba POST simple (Simple POST Test) realiza una revisión de los siguientes componentes:
IC de los relojes.
Controladores DMA.
CPU.
Video ROM.
Una prueba POST completa (Full POST Test), además, revisará los siguientes componentes:
Placa madre.
Teclado.
Puerto de impresora.
Disco duro, etc.
Es importante recordar que una prueba POST completa (full POST Test) se realiza cuando se hace
un arranque en frío (cuando el computador está apagado y se enciende), mientras que una prueba
POST simple (Simple POST Test) se realiza cuando se efectúa un arranque en caliente (cuando el
equipo se está reiniciando). Una vez que el POST termine, el BIOS le informará al usuario de cualquier
problema que encuentre mediante un mecanismo determinado por el fabricante. En el caso de un
PC particular es mediante una serie de sonidos beeps (diferente cantidad de beeps significan distintas
cosas) en servidores puede ser mediante una serie de LED o en algún panel LCD por nombrar unos
pocos.
El BIOS puede ser configurado por el usuario y las opciones que este elige se almacenan en el
CMOS, este es un pequeño chip en la placa madre que es capaz de retener las configuraciones
gracias a una batería.
Una vez que el test de POST ha concluido con éxito, el BIOS buscará en las configuraciones del
CMOS cuál es el orden de booteo, este orden no es nada más que una lista que le indica al BIOS en
donde buscar el SO.
CD-DVD.
Disco duro.
USB.
Red.
6
ESTE DOCUMENTO CONTIENE LA SEMANA 2
del mismo tamaño. (512 bytes). Continuando con el booteo, aquí nuevamente se utilizará un
parámetro “en duro”. Pues el BIOS busca siempre en un sector definido del disco duro, el llamado
sector de booteo maestro (MBR, Master Boot Record o Registro de Arranque Maestro). Este es el
primer sector de su disco duro y contiene el programa que ayudará al equipo a cargar el SO.
Tan pronto como el BIOS encuentra un MBR válido, cargará todo su contenido a la memoria RAM
desde donde continúa la ejecución del código.
Sin embargo, como se indicó, un sector del disco duro son 512 bytes, lo cual es bastante pequeño;
en 512 bytes no se puede almacenar un programa de booteo. Por esta razón los SO modernos solo
almacenan una parte del programa de booteo en el MBR. Utilizan los primeros 440 bytes para
almacenar la primera etapa del cargador de booteo (boot loader, en inglés) y el resto de los bytes
se usan para almacenar información acerca de las particiones de su disco. En Fedora el Boot
Loader se llama GRUB (Grand Unified Boot Loader).
Si se desea copiar el MBR a un archivo entrando en su servidor, logeando como root y ejecutando
el siguiente comando:
dd i f =/ dev / s da of =/ t mp/ s al i da bs =512 c ount =1
Para revisar el contenido del archivo /tmp/salida puede ejecutar el comando file: f i l e
/ t mp/ s al i da
La función del cargador de booteo (boot loader) etapa 1 es simplemente cargar la siguiente etapa.
7
ESTE DOCUMENTO CONTIENE LA SEMANA 2
En un disco duro, el sector 0 contiene GRUB etapa 1, pero las particiones de datos no comienzan
hasta el sector 63. Entre el sector 1 y el sector 63 se almacena lo que se conoce como GRUB etapa
1.5.
La función de GRUB 1.5 es proveer los controladores para que el sistema pueda leer el sistema de
archivos, de lo contrario se tendría un disco duro con un SO que no se podría leer.
Una vez que los controladores han sido cargados a la memoria RAM, el computador puede
procesar los archivos que se encuentran en el disco duro y finalmente el GRUB presenta la pantalla
donde se puede elegir cuál versión del kernel se quiere ejecutar.
En este punto del booteo, se necesitan muchos controladores y módulos para accesar el
hardware. Por ejemplo, si se tiene un RAID configurado en alguna partición, se debe saber cómo
utilizar un controlador RAID. Todos estos programas y controladores pueden hacer que el kernel
aumente de tamaño.
Como se indicó, el archivo de kernel debe tener acceso a todos los controladores, esto se da
mediante lo que se llama un sistema de archivos inicial por initrd, antes de que se cargue el
sistema de archivos real.
8
ESTE DOCUMENTO CONTIENE LA SEMANA 2
1.6. INIT Y LOS NIVELES DE EJECUCIÓN
Una vez que el kernel se carga, una de sus tareas es iniciar el proceso de init. Este proceso se
encarga de iniciar o detener los distintos servicios en el momento apropiado. En Linux existen
cinco run levels que definen cuándo se inician los distintos servicios.
Fuente: http://www.linux.com/news/enterprise/systems-management/8116-an-introduction-to-services-
runlevels-and-rcd-scripts
En Linux el init tiene un archivo de configuración ubicado en /etc/inittab, el cual contiene entradas
del tipo:
i d: 3: i ni t def aul t :
Los procesos que se iniciarán en cada run level se encuentran definidos en directorios ubicados en
/etc/rc.d.
[ r oot @l oc al hos t ] # c d / e t c / r c . d/
[ r oot @l oc al hos t r c . d] # l l
dr wx r - x r - x . 2 r oot r oot 4096 Oc t 8 00: 50 i ni t . d
dr wx r - x r - x . 2 r oot r oot 4096 Oc t 8 00: 50 r c 0. d
dr wx r - x r - x . 2 r oot r oot 4096 Oc t 8 00: 50 r c 1. d
dr wx r - x r - x . 2 r oot r oot 4096 Oc t 8 00: 50 r c 2. d
dr wx r - x r - x . 2 r oot r oot 4096 Oc t 8 00: 50 r c 3. d
dr wx r - x r - x . 2 r oot r oot 4096 Oc t 8 00: 50 r c 4. d
dr wx r - x r - x . 2 r oot r oot 4096 Oc t 8 00: 50 r c 5. d
dr wx r - x r - x . 2 r oot r oot 4096 Oc t 8 00: 50 r c 6. d
9
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Dentro de cada uno de estos directorios se encuentran archivos que comienzan con una S o con
una K. Los archivos que comienzan con una S se ejecutan cuando se inicia el servicio, mientras que
los comienzan con K se ejecutan cuando se termina el servicio.
2. CONFIGURACIÓN DE SERVICIOS
Desde la versión 15 de Fedora, se utiliza systemd en vez de SysVinit, este último, fue el estándar
de inicio por mucho tiempo. Sin embargo no estuvo exento de problemas, porque debido a su
antigüedad no hacía uso de las ventajas de nuevas tecnologías. SysVinit iniciaba un servicio,
revisaba las dependencias de este y luego lo ejecutaba antes de comenzar con el siguiente
servicio. Pero las nuevas tecnologías y procesadores multinúcleo permiten ejecutar varios
procesos simultáneamente, por lo que es posible inicializar varios servicios a la vez, reduciendo los
tiempos de booteo.
Como este curso se orientará a Fedora, se revisarán los comandos relativos a ese SO.
Para ver la lista de servicios actualmente ejecutándose, se puede ejecutar el comando systemctl
list-unit-files el cual desplegará una lista similar a:
10
ESTE DOCUMENTO CONTIENE LA SEMANA 2
En este pantallazo se puede apreciar que existen básicamente tres estados para los servicios:
En general, las operaciones que se pueden realizar sobre los servicios son:
En este pantallazo se observa que el servicio se encuentra corriendo, se puede verificar intentando
conectarnos directamente a la máquina con el comando ssh localhost.
Para detener un servicio se puede ejecutar el comando systemctl stop <nombre del
servicio>.service.
11
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Fuente: Material elaborado para este curso.
Se observa este pantallazo que, a diferencia de la anterior, el estado pasó de activo a inactivo.
Para volver a iniciar el servicio se puede ejecutar el comando systemctl start <nombre del
servicio>.service.
Obsérvese que después de ejecutar el comando el servicio vuelve a estar activo y es posible
conectarse con el servidor.
Para averiguar si el servicio está configurado para iniciar durante el arranque, es posible ejecutar
el comando systemctl is-enabled <nombre del servicio>.service.
12
ESTE DOCUMENTO CONTIENE LA SEMANA 2
En caso de que el servicio no se encuentre configurado para iniciar, es posible cambiar esto
utilizando:
A continuación se incluye un cuadro comparativo entre systemctl y SysVinit, ya que todavía es muy
común encontrar este último en algunas distribuciones de Linux.
13
ESTE DOCUMENTO CONTIENE LA SEMANA 2
configurado para iniciarse con el
próximo reboot.
Fuente: https://fedoraproject.org/wiki/SysVinit_to_Systemd_Cheatsheet
3. ADMINISTRACIÓN DE USUARIOS
Para tener una idea de cómo se gestionan estos permisos, se ejecutará, a modo de ejemplo, el
comando ls –l en algún directorio del sistema:
14
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Fuente: Material elaborado para este curso.
Fuente: http://www.linuxmediaserver.net/linux-basics/basic-linux-commands/
La columna en rojo indica el tipo (archivo o directorio) como un ‘-‘ o una ‘d’.
15
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Fuente: http://elsimpicuitico.wordpress.com/2012/03/12/entendiendo-permisos-de-ficheros-y-derechos-
de-acceso-en-linux/
Los grupos de permisos se agrupan de tres en tres: rwx, donde (r) significa permiso de lectura, (w)
permiso de escritura y (x) permisos de ejecución.
Significa que tendrá permisos de lectura, escritura y ejecución para el propietario, permisos de
lectura y ejecución para el grupo, y ningún permiso para el resto.
PERMISOS SIGNIFICADO
rwx rwx rwx Permiso para todos (muy poco seguro para archivos sin importancia).
rwx r– — Todos los permisos para el propietario y solo de lectura para el grupo.
Es importante conocer la política de permisos, pues al crear o editar usuarios dependiendo de los
grupos al que esté asignado dictaminará en gran medida qué es lo que puede hacer ese usuario.
16
ESTE DOCUMENTO CONTIENE LA SEMANA 2
3.2. AGREGANDO USUARIOS
Si se desea crear un nuevo usuario en el sistema se utilizará el comando adduser o useradd. Este
comando solo está disponible para el usuario root, por lo que hay que logearse como ese usuario
para emplearlo.
Normalmente, bastará con la orden adduser nombre_usuario para crear nuevos usuarios, aunque
su sintaxis completa será:
adduser [-c comentario] [-d home] [-e fecha] [-f dias] [-g grupo] [-G lista de grupos] [-m [-k
template] | -M] [-n] [-o] [-p passwd] [-r][-s shell] [-u uid] usuario.
Para más información sobre este comando, ejecutar ‘man adduser’ en el sistema.
Se pueden ahorrar muchas de las opciones, ya que, si no se indica nada el ‘home’ del usuario se
creará por defecto en ‘/home/nombre_del_usuario’, con la estructura por defecto.
Este, será un usuario indefinido y no se bloqueará por no ocuparse, tendrá la shell por defecto
(normalmente bash), se le asignará un uid (user ID) automáticamente y se creará un grupo con el
mismo nombre.
usermod [-c comentario] [-d home] [-e fecha] [-f dias] [-g grupo] [-G lista de grupos] [-m] [-n] [-p
passwd] [-s shell] [-u uid [-o] ] usuario [-L | -U] usuario
Que toma los mismos parámetros que el comando para la creación de usuarios, con la excepción
de:
Por ejemplo, se puede borrar el usuario Roberto con el comando: deluser Roberto.
17
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Con la opción –R, además, se borrará el directorio del usuario.
4. EL INSTALADOR DE PAQUETES
Fedora contiene un poderoso gestor de paquetes llamado YUM (Yellowdog Updater, Modified), el
cual funciona a través de la línea de comandos. Entre sus muchas virtudes destacan la resolución
automática de dependencias, es decir, si cierto software que se desee instalar requiere de algún otro
que esté instalado previamente, YUM se encargará de instalar ambos softwares de forma
automática.
La forma de utilizar YUM es muy simple, pero como es un comando de administración solo está
disponible para el usuario root, por lo que antes de utilizarlo debe estar logeado como el usuario
root o utilizar sudo.
El comando es:
18
ESTE DOCUMENTO CONTIENE LA SEMANA 2
yum install <nombre del paquete>
El comando para eliminar un software es idéntico, pero se reemplaza install por remove:
YUM tiene una gran cantidad de opciones, para obtener más información sobre ellas ejecute ‘man
yum’ en su sistema.
Se utilizan para eliminar los paquetes especificados del sistema, así como la
REMOVE O
eliminación de los paquetes que dependen del paquete que se está
19
ESTE DOCUMENTO CONTIENE LA SEMANA 2
ERASE eliminado.
COMENTARIO FINAL
Se han estudiado las particularidades del proceso de booteo de un computador con Linux, indicando
qué es lo que ocurre desde que se presiona el botón de encendido hasta que el equipo está listo
para ser utilizado.
Es importante notar los distintos run levels y los comandos para asegurar que los servicios del PC
se encuentran operativos. En el caso de que alguno de estos servicios no se encuentra operativo,
ya se tienen las herramientas para inicializar el servicio o terminarlo según sea necesario.
Finalmente, se revisó brevemente la política de seguridad de Linux, así como las herramientas
para la creación modificación y eliminación de usuarios dentro del sistema.
20
ESTE DOCUMENTO CONTIENE LA SEMANA 2
REFERENCIAS
Nemeth, E.; Snyder, G.; Hein, T. R. y Whaley, B. (2010). UNIX and Linux System Administration
21
ESTE DOCUMENTO CONTIENE LA SEMANA 2
22
ESTE DOCUMENTO CONTIENE LA SEMANA 2