Muchos autores han brindado a los lectores de Enable Sysadmin razones para crear un entorno de laboratorio doméstico u orientación sobre la creación de entornos de laboratorio utilizando virsh, Ansible e incluso contenedores. Entonces, ahora que sabe que un laboratorio en casa es bueno para usted y ha usado los artículos para construir una excelente configuración, ¿qué sigue?
Cuando enseño, proporciono a mis alumnos un libro de trabajo de laboratorio autodidacta que ofrece habilidades sugeridas en un orden lógico que pueden usar para mejorar su conocimiento de Linux o prepararse para los exámenes de certificación. Modifiqué ese libro de trabajo para este artículo para brindarle 13 cosas que hacer con su nuevo y brillante entorno de laboratorio de Linux.
Este es un inmenso conjunto de pautas. Además, no hay instrucciones paso a paso. De hecho, ese es el punto. Debes investigar y aprender por ti mismo estas tareas si aún no sabes cómo llevarlas a cabo, al igual que en el mundo real.
Hay artículos de Habilitar Sysadmin que cubren algunas de las tareas. La lección no es que debas conocer todas estas respuestas, sino que debes saber cómo encontrar todas estas respuestas. No tienes que hacer todas las secciones, aunque algunas dependen de otras.
1. Elija Linux
Un laboratorio doméstico puede servir para muchos propósitos, y necesita tener una idea de lo que quiere lograr con su laboratorio.
- Si solo está explorando lo que es posible en Linux, la instalación de CentOS Stream o Fedora le ofrece un entorno flexible. Puede instalar cualquiera de estas distribuciones en una computadora de repuesto, una Raspberry Pi o como una máquina virtual (VM) o contenedor.
- Si desea que su viaje comience en su destino, puede instalar Red Hat Enterprise Linux (RHEL) en una plataforma compatible. Esto lo inicia con Linux de calidad empresarial, lo que significa que una vez que perfeccione su configuración, estará listo para migrar a producción.
Todas estas distribuciones se derivan de Fedora, por lo que el proceso de instalación es básicamente el mismo independientemente de cuál elijas. Puede seguir nuestra guía introductoria si no está seguro de cómo empezar. Utilice esta información para seleccionar las distribuciones para instalar en la siguiente tarea y comprender mejor el panorama de Linux.
2. Instale al menos tres distribuciones
- Cree particiones raíz separadas de arranque, var, inicio, intercambio y sistema de archivos (cinco particiones en total). Deje al menos 100 MB de espacio en disco duro vacío, sin usar y sin particiones para una tarea futura.
- Elija las interfaces gráficas de usuario (GUI) de escritorio que estén disponibles para sus distribuciones seleccionadas.
- Cree un usuario durante la instalación y conviértalo en administrador. Esto otorga al usuario
sudo
permisos. - Una vez completada la instalación, explore las funciones de ayuda integradas:
- Use las páginas man para investigar el
fstab
archivo. - ¿Cuáles son las diferencias entre las distintas secciones de la página del manual? Los administradores utilizan principalmente las secciones 1, 5 y 8. ¿Por qué?
- ¿Cómo se puede realizar una búsqueda de palabras clave en las páginas man?
- Qué se puede encontrar en
/usr/share/doc
? - Explore cualquier archivo de ayuda de GUI que pueda estar disponible.
- Use las páginas man para investigar el
- Complete el tutorial de Vim (el comando es
vimtutor
) para sentirse cómodo con Vim. Puedes usar Nano si lo prefieres. Estar seguro puede crear, abrir, editar, guardar y cerrar archivos de configuración antes de continuar con estas actividades. - Intente configurar las instalaciones para una zona horaria específica usando
tzselect
comando. - Seleccione una instalación como su computadora de laboratorio principal. Designarlo como "servidor" y seleccionar una segunda instalación como "cliente". Utilizará estos dos sistemas en las actividades restantes.
[ Tenga siempre a mano la hoja de trucos de los comandos de Linux mientras aprende y trabaja. ]
3. Ajustar permisos de usuario
- Inicie sesión con la cuenta de usuario que creó durante la instalación. Usa el
sudo
comando para obtener privilegios de root cuando necesite realizar tareas administrativas en todo el sistema. Esta es una práctica recomendada importante en la administración de Linux. - Ajuste los privilegios asignados a su cuenta de usuario usando
sudo
dominio. Debes editar el/etc/sudoers
archivo usando elvisudo
comando.
4. Usar editores de texto
- Cree un plan de estudios de certificación mediante Vim. Enumere las tareas que pretende realizar como parte del desarrollo de sus habilidades en Linux.
- Enumere tres (o más) recursos usando el editor de texto Nano.
- Enumere tres habilidades de Linux en las que confía y tres habilidades de Linux en las que no confía en el uso de un editor de texto GUI. Esta debería ser la única vez que use un editor de GUI durante toda esta actividad.
5. Administrar usuarios y grupos
- Use el
/etc/skel
directorio para definir la configuración del perfil antes de agregar cualquier cuenta de usuario. - Establezca la caducidad de la contraseña y la cuenta mediante
/etc/login.defs
archivo antes de agregar cualquier cuenta de usuario. Utilice los siguientes requisitos de contraseña:- Las contraseñas deben caducar después de 90 días, con un período de advertencia de cinco días.
- Use la línea de comando para crear cinco cuentas de usuario para usar en actividades posteriores. Experimentará con los permisos y la propiedad al utilizar estas cuentas. Asigne a cada usuario un nombre único, pero configúrelos a todos con la misma contraseña (por su propia cordura).
- Utilice la línea de comandos para crear cinco grupos basados en departamentos ficticios:ventas, marketing, recursos humanos, TI, ingeniería. Coloque un usuario desde arriba en cada grupo.
- Delegue la capacidad de reiniciar el sistema a un solo usuario mediante
sudo
.
6. Administrar archivos
- Cree directorios para cada departamento (ventas, marketing, recursos humanos, TI, ingeniería) en la raíz del sistema de archivos.
- Configure los permisos y la propiedad estándar de Linux de modo que cada grupo solo tenga acceso a sus propios directorios departamentales. Por ejemplo, el grupo de ventas tiene acceso a
/sales
directorio, pero no a los directorios de otros departamentos.- Después de completar y probar el paso anterior, configure los permisos de ACL para permitir que el departamento de marketing tenga acceso de lectura a
/sales
directorio. - Utilice los permisos de ACL para permitir que una cuenta de usuario tenga permiso de lectura para
/IT
directorio. - Configure SGID y el sticky bit en
/marketing
directorio.
- Después de completar y probar el paso anterior, configure los permisos de ACL para permitir que el departamento de marketing tenga acceso de lectura a
- Asegúrese de que dos de sus cuentas de usuario existentes ahora sean miembros del grupo de marketing.
- Utilice cada cuenta para crear un archivo en
/marketing
directorio. - Pruebe si una de esas cuentas puede eliminar el archivo creado por la otra cuenta (no deberían poder hacerlo, debido a la parte adhesiva).
- Utilice cada cuenta para crear un archivo en
- Cree un archivo llamado
unchangeable.txt
, establezca el atributo inmutable en él y luego elimine el archivo. - Configurar enlaces de archivos.
- Cree un archivo llamado
LinksTest.txt
en el/opt
directorio, y luego crea un enlace duro a él en el/tmp
directorio. Use Vim para agregar una línea de texto al archivo a través de/opt/LinksTest.txt
y luego muestre el contenido del archivo usando el/tmp/LinksTest.txt
ruta del archivo. - Cree un enlace simbólico a
/tmp/LinksTest.txt
en el directorio de inicio del usuario raíz y ver el contenido del archivo. - Elimine el
/tmp/LinksTest.txt
y luego intente ver el contenido del archivo a través de/root/LinksTest.txt
enlace simbólico.
- Cree un archivo llamado
- Cree 10 archivos en el
/tmp
directorio, y luego usetar
ygzip
para agrupar y comprimir los archivos.- Elimine los 10 archivos originales y luego restáurelos desde su tarball.
- Use el
find
comando para buscar los archivos de prueba en los directorios del departamento. Realice esta tarea primero como usuario raíz, luego como un usuario que es miembro del grupo propietario del directorio y finalmente como un usuario que no es miembro del grupo propietario del directorio. - Solo en la línea de comando, practique montar y desmontar imágenes ISO.
- Copie un archivo de la ISO a un directorio en la instalación de Linux.
- Configurar LVM:
- Designe dos secciones de 50 MB cada una de su espacio vacío restante en el disco duro para que sean volúmenes físicos (PV) utilizados por LVM.
- Combínalos con PV en un solo grupo de volúmenes y luego configura un solo volumen lógico (LV) de 100 MB.
- Cree un directorio que sirva como punto de montaje para este LV y agregue una entrada a
/etc/fstab
para que se monte durante el arranque del sistema.
[ Para obtener más consejos de preparación para el examen, descargue el libro electrónico Cómo prepararse para su examen remoto de Red Hat. ]
7. Administrar software
- Usar las
rpm
comando para administrar el software:- Utilice las
rpm
comando para inventariar todo el software instalado y redirigir esta lista de inventario a un archivo de texto. - Instale un paquete RPM usando el
rpm
dominio. Por ejemplo, instale elzsh
paquete. Descargue el paquete si es necesario. - Utilice las
rpm
comando para obtener información sobre elzsh
paquete, y luego userpm
para desinstalar el paquete.
- Utilice las
- Usar
dnf
comando para administrar el software:- Instalar un paquete RPM con el
dnf
dominio. Por ejemplo, instale elksh
paquete. - Usar el
dnf
comando para obtener información sobre elksh
paquete, y luego usednf
para desinstalar el paquete.
- Instalar un paquete RPM con el
- Encuentre y descargue el software que debe compilar. Siga el proceso de compilación del software. (GitLab, GitHub y Sourceforge son repositorios de desarrollo populares).
- Descargue una pieza de software que incluya una suma de verificación MD5 para verificar su integridad. Después de la descarga, compare sus resultados MD5 con el resultado en el sitio web.
8. Arranque desde la CLI y la GUI
- Configure una de sus máquinas de laboratorio para que arranque en la interfaz de línea de comandos (CLI) mediante systemd y reinicie para confirmar que tuvo éxito.
- Sin reiniciar ni cambiar la configuración predeterminada, inicie la GUI mediante systemd.
- Vuelva a configurar la máquina virtual para que arranque en la GUI de forma predeterminada y luego reinicie para confirmar que tuvo éxito.
- Configure la máquina virtual para que arranque en la CLI nuevamente y luego reiníciela para confirmar que tuvo éxito.
9. Administrar hardware
- Use los siguientes comandos para documentar la información de hardware de las computadoras de su laboratorio:
df
,du
,cat /proc/cpuinfo
,cat /proc/meminfo
,devices
,partitions
,ifconfig
,ip addr
,cat /etc/fstab
,uname –a
- Dirija la salida de estos comandos a archivos de texto (haga tantos archivos de texto como desee para organizar esta documentación razonablemente). Usa ambos
>
y>>
para organizar los datos. - Redireccionar el
dmesg
salida a un archivo de texto, y luego use elgrep
utilidad para mostrar cualquier referencia a "memoria" o "CPU" en el archivo. ¿Qué más te dice este archivo?
10. Crear guiones
- Busque en Internet al menos tres scripts simples que le parezcan útiles.
- ¿Cuál es el propósito de usar un "punto barra" (
./
) delante de un script al ejecutarlo? - ¿Cuál es el propósito de "sh-bang" (como
#!/bin/bash
) al principio de un guión?
- ¿Cuál es el propósito de usar un "punto barra" (
- Utilice Vim para editar estos scripts. No utilice un editor de GUI.
- Lea el artículo Learn Bash de Jim Hall y luego descargue el libro electrónico Bash scripting for sysadmins de David Both.
- Cree y use una secuencia de comandos de respaldo para respaldar el contenido de los directorios de departamento que creó anteriormente.
- Programe su secuencia de comandos de copia de seguridad para que se ejecute cada hora usando
cron
. ¡Desconfigure esto tan pronto como sepa que funciona!
- Programe su secuencia de comandos de copia de seguridad para que se ejecute cada hora usando
- Cree una cuenta gratuita con GitHub y luego almacene sus scripts allí para permitir el control de versiones.
[ Descargue la hoja de referencia de cron de Linux. ]
11. Configurar el sistema y los servicios de red
- Documente las siete capas del modelo OSI (esto se supone que es conocimiento para las redes en general).
- Documente la dirección IP y la dirección MAC de al menos uno de sus sistemas Linux en un archivo llamado
networking.txt
en el directorio de inicio del usuario raíz. ¿Qué clase es esta dirección IP? - Edite el
/etc/hosts
archivos en sus máquinas virtuales disponibles para permitir la funcionalidad de ping por nombre. - Si tiene dos o más máquinas virtuales conectadas en red, establezca la conectividad SSH.
- Configure SSH solo para la autenticación basada en claves.
- Establezca un mensaje de banner para cada servidor SSH que enumere el nombre de host de ese servidor. (En otras palabras, configure una VM como la estación de trabajo de administración y las VM restantes como servidores, y luego realice toda la administración desde una estación de trabajo mediante conexiones SSH). Es posible que deba configurar el firewall para la conectividad SSH.
- Ejecutar un
traceroute
a la dirección IP 8.8.8.8 y documente el resultado en un archivo llamadotraceroutegoogle.txt
almacenado en el directorio de inicio del usuario raíz. Repita el proceso usando eltracepath
comando. - Configure una máquina virtual como servidor DHCP con una dirección IP estática y la otra como cliente DHCP.
- Usar
ping
para verificar la conectividad entre las dos máquinas virtuales.
- Usar
- Abra puertos en el cortafuegos para cualquier servicio de red que pruebe en esta sección, incluidos HTTP y FTP.
- Utilice el
firewall-cmd
comando para administrar el servicio firewalld. Su distribución puede usar un servicio de firewall diferente, así que use los comandos apropiados.
- Utilice el
- Instale y habilite el servidor web Apache (el proceso para Apache se llama
httpd
).- Configure Apache para que se inicie automáticamente en
multi-user.target
y elgraphical.target
configuraciones. - Cree un sitio web de prueba alojado en una de sus máquinas virtuales. Deberá crear un
index.html
página web. Verifique que el sitio web esté disponible desde su otra máquina virtual. - Utilice una combinación de
ps
ygrep
para mostrar información de proceso sobre Apache (httpd
) proceso.
- Configure Apache para que se inicie automáticamente en
- Instale y configure la solución de servidor vsFTPd y configure el servicio vsFTPd para que se inicie automáticamente.
- Haga disponible un sitio FTP de prueba y verifique que puede descargar un archivo de él.
- Ver los archivos de registro rsyslog para los servicios HTTP y FTP anteriores.
- Personalice el archivo de menú de GRUB2 para que su distribución lea "MyLinuxDistro" en el menú de inicio, en lugar de la entrada de menú predeterminada (que normalmente muestra el nombre oficial de la distribución especificado por el proveedor).
- Utilice la
top
comando para renice un proceso. - Redirigir la salida de
systemd-analyze
comando a un archivo de texto y, a continuación, anote qué tres servicios tardan más en iniciarse. - Revise el contenido de
/proc/cpuinfo
y documente el nombre del modelo de su CPU. - Revise el contenido del
/proc/meminfo
y documente la cantidad total de memoria en el sistema.
12. Recuperar una contraseña de root olvidada
- Restablezca la contraseña del usuario raíz interrumpiendo el proceso de inicio de GRUB2. Tómese el tiempo:¿cuánto tiempo le tomó explotar esta configuración? Esto no funciona si ha instalado Linux con cifrado de disco completo, por lo que si puede realizar esta tarea, ¡es hora de habilitar el cifrado!
13. Investigar la GUI
- Explore las diversas GUI que están disponibles con diferentes distribuciones. Estos varían según las distribuciones que esté utilizando y las opciones de instalación que elija. Encuentre funciones dentro de las diversas GUI que le resulten familiares o útiles en el trabajo y en el hogar.
- Tenga en cuenta cómo usa su computadora personal. ¿Hay aplicaciones de código abierto que se ejecutan en Linux que serían útiles? Por ejemplo, los músicos a menudo usan software de grabación. ¿Qué software está disponible en Linux para ese propósito? ¿O qué hay de los juegos? ¿Fotografía digital y edición de imágenes?
- Lea las descripciones en línea de varios Fedora Spins.
Resumir
Estas son meras sugerencias. Agregue tareas de la lista de objetivos de su examen, descripciones de trabajo, guías de estudio y otros recursos para asegurarse de estar completamente preparado para lo que sea que se le presente. Reconozco que esta es una enorme lista de tareas. Acérquese a él de la misma manera que comería un elefante:un bocado a la vez.