Tema 104: Dispositivos, sistemas de archivos Linux y el estándar de jerarquía de archivos
Last updated
Last updated
104.4 Eliminado
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.
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.
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).
Verificar la integridad de los sistemas de archivos.
Supervisar el espacio libre y los inodos.
Solucionar problemas simples relacionados con los sistemas de archivos.
Importancia
3
Descripción
El candidato debe ser capaz de configurar el montaje de un sistema de archivos.
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.
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.
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.
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
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
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.
chgrp
-> cambiar grupo
umask
-> configuración de permisos por defecto. Si no se modifica, esto solo sirve para la sesión actual.
Importancia
2
Descripción
El candidato debe ser capaz de crear y administrar los enlaces duros y simbólicos de un archivo.
Crear enlaces.
Identificar enlaces duros y/o simbólicos.
Copiar versus enlazar archivos.
Usar enlaces para facilitar las tareas de administración del sistema.
Un enlace es un fichero que te envía a otra cosa. En Linux hay de dos tipos:
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
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:
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.
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.
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.
A continuación hay un resumen:
Los comandos which
y whereis
en Linux se utilizan para localizar archivos ejecutables y obtener información sobre la ubicación de programas:
which
Este comando muestra la ruta completa de los ejecutables que se encuentran en los directorios especificados en la variable de entorno PATH
:
Uso:
Ejemplo:
Esto podría devolver /usr/bin/python
si el ejecutable de Python está en ese directorio.
whereis
Este comando localiza los archivos binarios, el código fuente y las páginas del manual para un comando específico.
Uso:
Ejemplo:
Esto podría devolver:
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
rosa - número de existentes