Tema 104: Dispositivos, sistemas de archivos Linux y el estándar de jerarquía de archivos
Objetivos del tema 104
104.4 Eliminado
104.1 Creación de particiones y sistemas de archivos
Importancia
2
Descripción
El candidato debe ser capaz de configurar particiones de disco para después crear sistemas de archivos en medios tales como discos duros. Se incluye el manejo de las particiones swap.
Áreas de conocimiento clave:
Administrar tablas de particiones MBR y GPT
Usar diversos comandos mkfs para crear distintos sistemas de archivos tales como:
ext2/ext3/ext4
XFS
VFAT
exFAT
Conocimientos básicos del sistema de archivos Btrfs, incluyendo los sistemas de archivos multidispositivo, la compresión y los subvolúmenes.
Contenidos
Artículo sobre que sistema de archivos es mejor, si ext4 o xfs: https://linuxopsys.substack.com/p/ext4-vs-xfs-which-filesystem-should
104.2 Mantener la integridad de los sistemas de archivos
Importancia
2
Descripción
El candidato debe ser capaz de mantener un sistema de archivos estándar así como los datos adicionales asociados a un sistema de archivos con registro de diario (journaling).
Áreas de conocimiento clave:
Verificar la integridad de los sistemas de archivos.
Supervisar el espacio libre y los inodos.
Solucionar problemas simples relacionados con los sistemas de archivos.
Contenidos
104.3 Controlar el montaje y desmontaje de los sistemas de archivos
Importancia
3
Descripción
El candidato debe ser capaz de configurar el montaje de un sistema de archivos.
Áreas de conocimiento clave:
Montar y desmontar sistemas de archivos de forma manual.
Configurar el montaje del sistema de archivos en el arranque.
Configurar sistemas de archivos extraibles y montables por el usuario.
Uso de etiquetas e identificadores únicos universales (UUIDs) para la identificación y el montaje de sistemas de archivos.
Conocimientos de las unidades de montaje de systemd.
Contenidos
104.5 Administración de los permisos y los propietarios de los archivos
Importancia
3
Descripción
El candidato debe ser capaz de controlar el acceso a los archivos mediante el uso apropiado de sus permisos y propietarios.
Áreas de conocimiento clave:
Administrar los permisos de acceso a archivos regulares y especiales así como a directorios.
Usar modos de acceso tales como el suid, el sgid y el sticky bit para mantener la seguridad.
Saber cambiar la máscara de creación de archivos.
Usar el campo grupo para otorgar acceso a archivos a miembros de un grupo.
Contenidos
Permisos
Tenemos tres tipos de bits de permisos:
R - Read
Leer fichero
Listar Directorio
W - Write
Escribir/Modificar/Eliminar (rm)
Guardar contenido*
X - Execute
Ejecutar comandos o software
Acceder a directorio (con cd por ejemplo o ls -l) por como funciona.
*Puedes encontrarte con que puedes guardar un fichero que no sea w dentro de un directorio que sí tiene permisos de w.
Esta herramienta calculadora te permitirá saber mejor como redactarlo:


De la misma forma hay tres entidades:
(u) Owner - propietario del fichero, solo existe un propietario del fichero
(g) Group - Grupo de usuarios
(o) Others - Todos los que no son propietarios o pertenecen al grupo
Todos los permisos pertenecen a un usuario o grupo y estos deben pertenecer mínimo a un grupo
<esquema>
Cuando se hace ls -l
aparece una pantalla tal que así:

Como se ve, hay varios conceptos:
verde - tipo de archivo
"-" para fichero
"d" para directorio
"l" para enlace
amarillo - módulos de permisos
rosa - número de hardlinks existentes
azul - usuario actual
morado - grupo de usuarios
naranja - tamaño de fichero
De esta forma tu puedes dar privilegios de sudo o no a alguien. Puedes dar permisos por usuario, por comando o por grupo incluso para tener mas controlados sus permisos.
chmod
-> Cambiar el modulo de permisos, se puede cambiar en forma octal o bien en forma simbólica. Para ello se usan las abreviaciones
#Generando permisos
chmod +x shadow.txt #permiso ejecucion para todos
chmod
chmod u+x shadow.txt #permiso ejecución solo a usuario
Se puede trabajar con +, - o = para sumar, restar o igualar permisos
chmod 777
-> mal hecho como administrador de sistemas, abre todos los permisos a todos.
chown
-> cambiar propietario. Para poder realizar este comando no te basta con tener permisos totales como propietario sino que requieres de permisos de super-usuario root.
sudo chown pue shadow.txt #Cambiar la propiedad del archivo al usuario "pue"
sudo chown xavi:students shadow.txt #Cambiar el usuario y el grupo
sudo chown :students shadow.txt #Cambiar el grupo solamente
sudo chown -R pue:info /home/pue/Documents #Esto dará los mismos permisos de propietario a todos los archivos y directorios de forma recursiva.
chgrp
-> cambiar grupo
chgrp
umask
-> configuración de permisos por defecto. Si no se modifica, esto solo sirve para la sesión actual.

104.6 Crear y cambiar enlaces duros y simbólicos
Importancia
2
Descripción
El candidato debe ser capaz de crear y administrar los enlaces duros y simbólicos de un archivo.
Áreas de conocimiento clave:
Crear enlaces.
Identificar enlaces duros y/o simbólicos.
Copiar versus enlazar archivos.
Usar enlaces para facilitar las tareas de administración del sistema.
Contenidos
Un enlace es un fichero que te envía a otra cosa. En Linux hay de dos tipos:
Softlink
Enlace shortcut o acceso directo. Estos se utilizan entre carpetas y entre particiones ya que estan en filesystems diferentes.
df -hT -> para listar carpetas
df -i -> para listar i-nodos
ln -s file1 link-01
ls -lhi
Puedes ver que el enlace no ocupa lo mismo que el archivo original y además apunta al original. Un problema es que tiene un i-nodo especifico por lo tanto gasta un i-nodo.
El numero de i-nodos es limitado y proporcional al tamaño y tipo de partición
Hardlink
Un hardlink o enlace duro a un archivo apunta al i-nodo del archivo en lugar de apuntar al archivo en sí. De esta manera, el hardlink obtiene todos los atributos del archivo original y apunta al mismo bloque de datos que el archivo original.
Para crear un hardlink con ln del archivo file1 con el nombre link_N:
ln file1 link_1
ln file1 link_2
Por mucho que yo haga esto, no subirá el espacio ocupado. Al revisar con ls -lhi
se puede observar el número del i-nodo y vemos que es el mismo.
104.7 Encontrar archivos de sistema y ubicar archivos en el lugar correspondiente
Importancia
2
Descripción
El candidato debe estar completamente familiarizado con el Estándar de Jerarquía del Sistema de Archivos (Filesystem Hierarchy Standard, FHS), incluyendo las ubicaciones típicas de archivos y la clasificación de directorios.
Áreas de conocimiento clave:
Entender las ubicaciones correctas de los archivos bajo el criterio del FHS.
Encontrar archivos y comandos en un sistema Linux.
Conocer la ubicación y finalidad de archivos y directorios importantes tal como se definen por el FHS.
Contenidos
Jerarquía de directorios
A continuación hay un resumen:
/bin #Comandos de operaciones binarias del nucleo
/boot #Boot loader, kernel y los archivos necesarios
/compat #En FreeBSD, archivos y librerias para la compatibilidad con Linux binary.
/dev #Archivos de dispositivos como discos, impresoras...
/etc #Archivos criticos de arranque y configuración especificos del host
/home #Directorio básico de usuario
/lib #Librerias, librerias compartidas y comandos usados por /bin y /sbin
/media #Puntos de montado de sistemas de archivos y medios removibles como discos
/mnt #Puntos de montado temporales como USB
/opt #Paquetes de software opcionales (usado para compatibilidades)
/proc #Información de todos los procesos ejecutandose, estructuras de datos interfaz-kernel se genera automáticamente
/root #Directorio home del sudo (a veces solo /)
/run #Punto de inicio de los programas ejecutables (PDIs, sockets, etc.)
/sbin #Comandos de nucleo del sistema, binarios del sistema
/srv #Archivos para la distribución a través de web u otros.
/sys #Directorio virtual que provee información del sistema
/tmp #Archivos temporales
/usr #Jerarquia de archivos y comandos secundarios
/usr/bin #La mayoria de comandos y archivos ejecutables, enlace simbolico
/usr/include #Archivos de compilación en C
/usr/lib #Librerias y archivos de soporte para programas
/usr/local #Software local o datos de configuración, es un reflejo de /usr
/usr/sbin #Comandos menos esenciales de administración o reparación, enlace simbolico
/usr/share #Items comunes con otros sistemas
/usr/share/man #Páginas de manuales (man)
/usr/src #Codigo fuente para software no-local
/usr/tmp #Más espacio temporal
/var #Información específica del sistema y archivos de configuración que se espera sufran cambios
/var/adm #Varios: logs, setup records,bits de administración raros
/var/log #Logs de sistema
/var/run #Lo mismo que /run, a menudo, un enlace simbolico
/var/spool #Almacenamiento de directorios para correo, impresoras, etc.
/var/tmp #Espacio temporal

Búsqueda de archivos
Los comandos which
y whereis
en Linux se utilizan para localizar archivos ejecutables y obtener información sobre la ubicación de programas:
which
which
Este comando muestra la ruta completa de los ejecutables que se encuentran en los directorios especificados en la variable de entorno PATH
:
Uso:
which comando which fdisk #Esto localizará ejecutables en el $PATH
Ejemplo:
which python
Esto podría devolver
/usr/bin/python
si el ejecutable de Python está en ese directorio.
whereis
whereis
Este comando localiza los archivos binarios, el código fuente y las páginas del manual para un comando específico.
Uso:
whereis comando
Ejemplo:
whereis ls whereis fdisk #Esto localizará los sistemas ejecutables, binarios y fuentes
Esto podría devolver:
ls: /bin/ls /usr/share/man/man1/ls.1.gz
Indicando las ubicaciones del ejecutable y su página del manual.
Estos dos comandos son más especificas para encontrar cosas:
locate
-> localiza cualquier cosa, exige carga al sistema por que busca en su base de datos de directorios. Cuidado por que su base de datos (ls -lh /var/cache/locate
) no se actualiza en tiempo real, debe hacerlo manualmente (sudo updatedb
)
find
-> busca recursos en vivo con la posibilidad de usar filtros

Last updated