Ficheros, Directorios y Permisos en Linux: guía completa

📅 Actualizado en febrero 2026 ✍️ Ángel López 📊 Nivel: Principiante ⏱️ 25 min de lectura

El sistema de ficheros, directorios y permisos es el corazón de Linux. Entenderlo es la diferencia entre ser un usuario que «algo funciona» y alguien que realmente comprende y controla su sistema. Todo en Linux gira alrededor de archivos: tus documentos, la configuración del sistema, los dispositivos de hardware e incluso los procesos en ejecución. Y el sistema de permisos — elegante, potente y con más de 50 años de historia — es lo que mantiene todo seguro y organizado. Esta guía te llevará desde el concepto fundacional de «todo es un archivo» hasta los permisos especiales avanzados, con comandos reales que puedes practicar ahora mismo en tu terminal.

📂 En Linux, todo es un archivo

Si tuvieras que resumir la filosofía de Linux en una sola frase, sería esta: «en Linux, todo es un archivo». Este principio, heredado directamente de Unix, significa que Linux trata casi todo — documentos, directorios, dispositivos de hardware, procesos del sistema, conexiones de red — como si fuera un archivo que puedes leer, escribir o manipular con las mismas herramientas.

¿Por qué es esto tan importante? Porque significa que no necesitas aprender herramientas diferentes para cada tarea. Los mismos comandos que usas para trabajar con un documento de texto también te sirven para consultar la temperatura de tu CPU, ver cuánta memoria RAM tienes disponible, o comprobar qué dispositivos USB están conectados. Esta uniformidad hace que Linux sea extraordinariamente potente y consistente.

Tu disco duro es un archivo (/dev/sda). Tu cámara web es un archivo (/dev/video0). La información de tu CPU es un archivo (/proc/cpuinfo). La memoria RAM disponible es un archivo (/proc/meminfo). Incluso la nada es un archivo (/dev/null, el «agujero negro» de Linux donde envías datos que quieres descartar). Y cada directorio es en realidad un archivo especial que contiene una lista de los archivos que hay dentro de él.

terminal — todo es un archivo
# Leer información del procesador (hardware como archivo) cat /proc/cpuinfo | head -5 # Ver la memoria disponible cat /proc/meminfo | head -3 # Enviar algo "a la nada" (descartarlo) echo "esto desaparece" > /dev/null # Ver versión del kernel (proceso como archivo) cat /proc/version

🌳 La estructura del sistema de archivos

A diferencia de Windows, donde cada disco tiene su propia letra (C:\, D:\, E:\), en Linux existe un único árbol de directorios que comienza en la raíz (/). Todo — absolutamente todo — cuelga de este punto. Los discos adicionales, las memorias USB y las particiones se «montan» en puntos específicos dentro de este árbol, integrándose de forma transparente.

Conocer los directorios principales es esencial para navegar el sistema con confianza. Cada uno tiene un propósito específico definido por el estándar FHS (Filesystem Hierarchy Standard):

DirectorioContenidoEjemplo de uso
/Raíz del sistema. Todo cuelga de aquícd /
/homeCarpetas personales de los usuarios/home/ana/Documentos/
/rootCarpeta personal del superusuarioSolo accesible por root
/etcArchivos de configuración del sistema/etc/hostname, /etc/fstab
/varDatos variables: logs, bases de datos, correo/var/log/syslog
/tmpArchivos temporales (se borran al reiniciar)Descargas temporales
/usrProgramas y recursos del usuario del sistema/usr/bin/python3
/binComandos esenciales (ls, cp, mv, cat...)/bin/bash
/sbinComandos de administración del sistema/sbin/fdisk
/devDispositivos de hardware como archivos/dev/sda (disco duro)
/procSistema de archivos virtual del kernel/proc/cpuinfo
/mntPunto de montaje para discos temporalesMontar USB manualmente
/optSoftware de terceros opcionalGoogle Chrome, Zoom
/bootKernel y archivos de arranqueGRUB, vmlinuz
💡 El directorio home: tu espacio personal
Cada usuario tiene su propio directorio dentro de /home: /home/ana, /home/pedro, etc. Es el único lugar del sistema donde un usuario normal puede crear, modificar y borrar archivos libremente. El símbolo ~ (tilde) es un atajo que representa tu directorio home. Las carpetas estándar dentro del home incluyen Documentos, Descargas, Imágenes, Música, Vídeos y Escritorio, siguiendo la especificación XDG de freedesktop.org.

Es importante entender que Linux distingue estrictamente entre mayúsculas y minúsculas en nombres de archivos y directorios. Para Linux, Documento.txt, documento.txt y DOCUMENTO.TXT son tres archivos completamente diferentes. Esto es una diferencia fundamental con Windows, donde los nombres son insensibles a mayúsculas. Los archivos y directorios que comienzan con un punto (.) son ocultos: no aparecen con ls normal sino con ls -a. Los archivos de configuración de usuario suelen ser ocultos: .bashrc, .ssh/, .config/.

Estructura del sistema de archivos Linux / /home /etc /var /usr /dev /tmp /home/ana /home/pedro Docs Fotos Música /var/log /var/www /usr/bin /usr/lib Todo cuelga de la raíz /. No hay letras de unidad como en Windows. Datos de usuario Configuración Programas Hardware Infografía: Ciberaula © 2026
Estructura del sistema de archivos Linux / /home /etc /var /usr /dev /tmp /home/ana /home/pedro Docs Fotos Música /var/log /var/www /usr/bin /usr/lib Todo cuelga de la raíz /. No hay letras de unidad como en Windows. Datos de usuario Configuración Programas Hardware Infografía: Ciberaula © 2026
Terminal de Linux mostrando código y comandos de gestión de archivos
📸 La terminal de Linux: la herramienta más potente para gestionar ficheros — Pexels (Licencia libre)

🧭 Rutas absolutas y relativas

Para moverse por el sistema de archivos, necesitas entender dos conceptos fundamentales: las rutas absolutas y las rutas relativas. Son como dos formas de dar indicaciones para llegar a un sitio: puedes dar la dirección completa desde la ciudad, o puedes decir «dos calles a la derecha desde donde estás».

Una ruta absoluta siempre comienza desde la raíz (/) y especifica la ubicación completa de un archivo o directorio. Es como dar una dirección postal completa: /home/ana/Documentos/informe.pdf. No importa dónde estés en el sistema de archivos: una ruta absoluta siempre te lleva al mismo sitio. Son infalibles pero pueden ser largas de escribir.

Una ruta relativa parte desde tu ubicación actual (el directorio en el que estás, que puedes ver con pwd). Usa dos símbolos especiales: . (punto, el directorio actual) y .. (dos puntos, el directorio padre, es decir, «un nivel arriba»). Si estás en /home/ana, puedes acceder a tu informe simplemente con Documentos/informe.pdf en vez de escribir la ruta completa. Y con ../pedro puedes ir a la carpeta de otro usuario (subes un nivel a /home y bajas a pedro).

terminal — rutas
# Rutas absolutas (siempre empiezan con /) cd /home/ana/Documentos cat /etc/hostname # Rutas relativas (desde donde estés ahora) cd Documentos # Entra en Documentos (subdirectorio) cd .. # Sube un nivel cd ../pedro/Fotos # Sube y entra en la carpeta de pedro cd ~ # ~ es un atajo a tu /home/usuario cd - # Vuelve al directorio anterior # Ver dónde estás ahora pwd # Print Working Directory

📄 Comandos esenciales de ficheros

Estos son los comandos que usarás a diario para trabajar con archivos en Linux. Todos vienen del Unix original de los años 70 y siguen siendo la forma más eficiente de gestionar archivos:

terminal — comandos de ficheros
# ─── CREAR archivos ─── touch archivo.txt # Crea archivo vacío (o actualiza fecha) echo "Hola mundo" > saludo.txt # Crea archivo con contenido echo "más texto" >> saludo.txt # Añade al final (sin borrar) # ─── VER contenido ─── cat archivo.txt # Muestra todo el contenido less archivo.txt # Visor paginado (q para salir) head -20 archivo.txt # Primeras 20 líneas tail -10 archivo.txt # Últimas 10 líneas tail -f /var/log/syslog # Seguir en tiempo real (logs) # ─── COPIAR, MOVER, RENOMBRAR ─── cp origen.txt copia.txt # Copiar archivo cp -r carpeta/ backup/ # Copiar directorio recursivamente mv viejo.txt nuevo.txt # Renombrar (mover en el mismo sitio) mv archivo.txt /tmp/ # Mover a otra ubicación # ─── BORRAR (¡cuidado, no hay papelera!) ─── rm archivo.txt # Borrar archivo rm -i archivo.txt # Borrar pidiendo confirmación rm -r carpeta/ # Borrar directorio y contenido # ─── BUSCAR ─── find /home -name "*.pdf" # Buscar PDFs en /home find . -size +10M # Archivos >10MB desde aquí grep "error" /var/log/syslog # Buscar texto en archivos locate archivo.conf # Búsqueda rápida por nombre
⚠️ El comando rm no tiene papelera
En Linux, cuando borras un archivo con rm, desaparece para siempre. No va a ninguna papelera de reciclaje. Por eso es buena práctica usar rm -i (que pide confirmación) y, sobre todo, nunca ejecutar rm -rf / o variantes que borran el sistema completo. Los administradores experimentados usan alias como alias rm='rm -i' para protegerse.

📁 Comandos esenciales de directorios

terminal — comandos de directorios
# ─── NAVEGAR ─── pwd # ¿Dónde estoy? cd /ruta/destino # Ir a un directorio cd ~ # Ir a tu home cd - # Volver al anterior # ─── LISTAR ─── ls # Listar contenido básico ls -l # Detallado (permisos, tamaño, fecha) ls -la # Incluir archivos ocultos (.archivo) ls -lh # Tamaños legibles (KB, MB, GB) ls -lR # Recursivo (subdirectorios incluidos) tree # Árbol visual (instalar con apt) # ─── CREAR y BORRAR directorios ─── mkdir proyecto # Crear directorio mkdir -p a/b/c/d # Crear ruta completa de golpe rmdir vacio # Borrar directorio (solo si está vacío) rm -r proyecto # Borrar directorio con todo dentro # ─── TAMAÑO ─── du -sh carpeta/ # Tamaño total de una carpeta du -sh * | sort -rh # Ordenar subcarpetas por tamaño df -h # Espacio libre en cada partición

🃏 Comodines y patrones (globbing)

Los comodines (wildcards) permiten seleccionar múltiples archivos con un solo patrón. Son una herramienta imprescindible que multiplica tu productividad en la terminal:

ComodínSignificadoEjemploCoincide con
*Cualquier secuencia de caracteresls *.pdfinforme.pdf, tesis.pdf, a.pdf
?Un solo carácter cualquierals foto?.jpgfoto1.jpg, fotoA.jpg (no foto12.jpg)
[abc]Un carácter de la listals foto[123].jpgfoto1.jpg, foto2.jpg, foto3.jpg
[a-z]Un carácter en el rangols [A-Z]*.txtArchivos .txt que empiezan por mayúscula
[!abc]Cualquier carácter NO en la listals foto[!0-9].jpgfotoA.jpg, fotoX.jpg (no foto1.jpg)
terminal — ejemplos de comodines
# Copiar todos los PDFs a una carpeta cp *.pdf /home/ana/PDFs/ # Borrar archivos temporales rm *.tmp *.bak # Listar solo imágenes ls *.{jpg,png,gif} # Mover archivos que empiezan por 2026 mv 2026* /backup/

🔐 El sistema de permisos rwx

El sistema de permisos es una de las características más importantes de Linux y la base fundamental de su seguridad. Heredado directamente de Unix, este sistema ha protegido servidores y estaciones de trabajo durante más de 50 años. Cada archivo y directorio tiene tres tipos de permisos asignados a tres categorías de usuarios. Comprender esto es absolutamente esencial para cualquier persona que use Linux, desde el principiante que quiere proteger sus archivos personales hasta el administrador de sistemas que gestiona servidores de producción.

La genialidad del sistema reside en su simplicidad: con solo nueve bits de información (tres permisos × tres categorías), Linux define exactamente quién puede hacer qué con cada uno de los millones de archivos de un sistema. No necesita bases de datos complejas de permisos ni sistemas de autenticación sofisticados: todo está almacenado directamente en los metadatos del archivo, accesible instantáneamente por el kernel.

Cuando ejecutas ls -l, la primera columna muestra los permisos en un formato como este:

terminal — ls -l
ls -l informe.txt -rw-r--r-- 1 ana staff 4096 feb 26 10:00 informe.txt │└┬┘└┬┘└┬┘ │ │ │ │ │ │ │ └── Grupo │ │ │ │ └── Propietario │ │ │ └── Permisos de OTROS │ │ └── Permisos del GRUPO │ └── Permisos del PROPIETARIO └── Tipo (- archivo, d directorio, l enlace)

Los tres tipos de permisos son:

PermisoLetraValor numéricoEn archivosEn directorios
Lecturar4Leer el contenidoListar el contenido (ls)
Escrituraw2Modificar el contenidoCrear/borrar archivos dentro
Ejecuciónx1Ejecutar como programaEntrar en el directorio (cd)

Los permisos se asignan a tres categorías: propietario (u/user), grupo (g/group) y otros (o/others). Esto permite un control granular: por ejemplo, que el propietario pueda leer y escribir, que los miembros de su grupo puedan leer, y que el resto no tenga ningún acceso.

🔐 Cómo leer los permisos de un archivo - r w x r - x r - - ana staff script.sh Tipo archivo Propietario rwx = 7 Grupo r-x = 5 Otros r-- = 4 chmod 754 script.sh Infografía: Ciberaula © 2026
🔐 Cómo leer los permisos de un archivo - r w x r - x r - - ana staff script.sh Tipo archivo Propietario rwx = 7 Grupo r-x = 5 Otros r-- = 4 chmod 754 script.sh Infografía: Ciberaula © 2026

🔧 Cambiar permisos con chmod

El comando chmod (change mode) es el que usarás para modificar los permisos de archivos y directorios. Es uno de los comandos más importantes de Linux y lo usarás constantemente como administrador. Tiene dos formas de uso: la notación simbólica (más intuitiva y autoexplicativa) y la notación octal (más rápida cuando la dominas y la preferida por los profesionales).

Notación simbólica

terminal — chmod simbólico
# Estructura: chmod [quién][operación][permiso] archivo # quién: u(user), g(group), o(others), a(all) # operación: +(añadir), -(quitar), =(establecer) chmod u+x script.sh # Dar permiso de ejecución al propietario chmod g+rw informe.txt # Dar lectura+escritura al grupo chmod o-rwx privado.txt # Quitar todos los permisos a otros chmod a+r readme.txt # Dar lectura a todos chmod u=rwx,g=rx,o=r file # Establecer permisos exactos

Notación octal (numérica)

Cada permiso tiene un valor: r=4, w=2, x=1. Se suman para cada categoría:

terminal — chmod octal
# Los permisos más comunes: chmod 755 script.sh # rwxr-xr-x (scripts ejecutables) chmod 644 documento.txt # rw-r--r-- (archivos normales) chmod 600 clave_ssh # rw------- (archivos privados) chmod 700 mi_carpeta/ # rwx------ (carpeta privada) chmod 775 compartida/ # rwxrwxr-x (carpeta de grupo) # Aplicar recursivamente a un directorio chmod -R 755 proyecto/ # Todos los archivos y subdirectorios
✅ Permisos estándar que deberías memorizar
755 (rwxr-xr-x): Para directorios y scripts ejecutables. 644 (rw-r--r--): Para archivos de datos normales. 600 (rw-------): Para archivos privados como claves SSH. 700 (rwx------): Para directorios personales privados.

👤 Cambiar propietario con chown y chgrp

Mientras chmod cambia los permisos (qué acciones se permiten), chown (change owner) cambia quién es el propietario del archivo (a quién pertenece). Solo root (o sudo) puede cambiar el propietario de un archivo, lo cual es una medida de seguridad lógica: si cualquier usuario pudiera «regalar» sus archivos a root, podría escalar privilegios en el sistema.

En la práctica, chown es fundamental para la administración de servidores. Un escenario muy común: cuando configuras un servidor web Apache, los archivos de la web deben pertenecer al usuario www-data (o al grupo www-data) para que el servidor pueda leerlos. Pero al mismo tiempo, quieres que tu usuario pueda editarlos. La combinación correcta de chown y chmod es lo que permite que ambas cosas funcionen sin comprometer la seguridad.

El comando chgrp es un caso especial: cambia solo el grupo de un archivo, sin modificar el propietario. Es útil cuando quieres que un equipo de trabajo comparta acceso a ciertos archivos sin cambiar quién es el dueño.

terminal — chown y chgrp
# Cambiar propietario sudo chown ana archivo.txt # Nuevo propietario: ana sudo chown ana:staff archivo.txt # Propietario: ana, grupo: staff sudo chown -R ana:www-data /var/www/ # Recursivo para web # Cambiar solo el grupo sudo chgrp developers proyecto/ # Cambiar grupo sudo chgrp -R developers proyecto/ # Recursivo # Ver propietario y grupo ls -l archivo.txt # -rw-r--r-- 1 ana staff 4096 feb 26 10:00 archivo.txt # ↑ ↑ # propietario grupo
Pantalla de programación mostrando código, representando la gestión de archivos
📸 Gestión de ficheros y permisos: habilidad esencial en Linux — Pexels (Licencia libre)

⚡ Permisos especiales: SUID, SGID y Sticky

Además de los permisos básicos rwx, Linux tiene tres permisos especiales que permiten comportamientos avanzados de seguridad:

PermisoOctalEfecto en archivosEfecto en directorios
SUID (Set User ID)4000Se ejecuta con los permisos del propietario, no del usuario que lo lanzaSin efecto estándar
SGID (Set Group ID)2000Se ejecuta con los permisos del grupoLos archivos creados dentro heredan el grupo del directorio
Sticky bit1000Sin efecto estándarSolo el propietario puede borrar sus archivos (usado en /tmp)
terminal — permisos especiales
# Ver SUID en acción: passwd puede cambiar /etc/shadow ls -l /usr/bin/passwd # -rwsr-xr-x ← la 's' en lugar de 'x' indica SUID # Ver Sticky bit en /tmp ls -ld /tmp # drwxrwxrwt ← la 't' final indica Sticky bit # Establecer SGID en carpeta de equipo sudo chmod g+s /proyecto/compartido/ # Ahora todos los archivos nuevos heredan el grupo # Establecer Sticky bit sudo chmod +t /carpeta/publica/

El ejemplo más conocido de SUID es el comando passwd: necesita escribir en /etc/shadow (que solo root puede modificar), pero cualquier usuario debe poder cambiar su propia contraseña. SUID permite que passwd se ejecute temporalmente con permisos de root aunque lo lance un usuario normal. Este mecanismo es elegante pero debe usarse con extrema precaución: un programa con SUID mal diseñado es un riesgo de seguridad.

🎭 umask: permisos por defecto

¿Te has preguntado por qué los archivos que creas tienen permisos 644 y los directorios 755 sin que tú hayas hecho nada? La respuesta es umask (user mask), una máscara que define qué permisos se eliminan de los permisos máximos al crear un nuevo archivo o directorio. Los permisos máximos son 666 para archivos (sin ejecución por seguridad) y 777 para directorios (necesitan ejecución para poder entrar con cd).

El valor de umask se resta de estos máximos. Con la umask estándar de 022: para archivos obtienes 666 - 022 = 644 (rw-r--r--), y para directorios 777 - 022 = 755 (rwxr-xr-x). En un entorno empresarial donde la seguridad es crítica, podrías usar una umask más restrictiva como 077, que haría que solo el propietario pueda acceder a los archivos y directorios recién creados.

terminal — umask
# Ver tu umask actual umask # 0022 (valor típico) # Cálculo: permisos = máximo - umask # Archivos: 666 - 022 = 644 (rw-r--r--) # Directorios: 777 - 022 = 755 (rwxr-xr-x) # Cambiar umask para la sesión actual umask 0077 # Archivos: 600, Dirs: 700 (más restrictivo) umask 0002 # Archivos: 664, Dirs: 775 (grupo puede escribir) # Para hacerlo permanente, añadir a ~/.bashrc echo "umask 0022" >> ~/.bashrc

📝 Ejercicios prácticos

Enlaces simbólicos y duros: atajos inteligentes

Linux ofrece dos tipos de «atajos» o enlaces que son extremadamente útiles para organizar archivos y crear referencias entre diferentes ubicaciones del sistema de archivos.

Un enlace simbólico (symlink) es como un acceso directo de Windows: es un archivo especial que apunta a otro archivo o directorio. Si el archivo original se borra, el enlace queda «roto». Los enlaces simbólicos pueden cruzar sistemas de archivos y apuntar a directorios. Son el tipo de enlace más usado.

Un enlace duro (hard link) es diferente: crea otro nombre para el mismo contenido en el disco. El archivo solo se borra cuando se eliminan todos sus enlaces duros. No pueden apuntar a directorios ni cruzar sistemas de archivos, pero son más resistentes porque no dependen de una ruta.

terminal — enlaces
# ─── ENLACES SIMBÓLICOS (los más comunes) ─── ln -s /ruta/al/original enlace_simb # Crear symlink ln -s /var/log/syslog ~/mis_logs # Atajo a logs ln -s /usr/bin/python3 /usr/local/bin/py # Alias de comando # ─── ENLACES DUROS ─── ln archivo.txt enlace_duro # Crear hard link (sin -s) # ─── VERIFICAR ─── ls -l enlace_simb # lrwxrwxrwx ← la 'l' indica symlink, y muestra → destino ls -li archivo.txt enlace_duro # Ambos comparten el mismo número de inodo (1ª columna) # ─── ENCONTRAR enlaces rotos ─── find /home -xtype l 2>/dev/null # Symlinks que no apuntan a nada

Los enlaces simbólicos son omnipresentes en Linux: el sistema los usa para mantener compatibilidad entre versiones de librerías (/usr/lib/libfoo.so → libfoo.so.3.2.1), para alternar entre versiones de software (/usr/bin/python → python3), y para la estructura de servicios de systemd. Entender cómo funcionan te ayudará a diagnosticar problemas y a organizar mejor tus proyectos.

Ejercicio 1: Navegación y gestión de archivos (Básico)

Crea la siguiente estructura de directorios y archivos en tu carpeta home. Luego navega entre ellos usando rutas absolutas y relativas.

terminal — ejercicio 1
# Crea esta estructura: # ~/proyecto/ # ├── src/ # │ ├── main.py # │ └── utils.py # ├── docs/ # │ └── readme.txt # └── tests/ # └── test_main.py
Ver solución
solución
mkdir -p ~/proyecto/{src,docs,tests} touch ~/proyecto/src/{main.py,utils.py} echo "# Mi proyecto" > ~/proyecto/docs/readme.txt touch ~/proyecto/tests/test_main.py # Verificar tree ~/proyecto # o si no tienes tree: find ~/proyecto -type f

Ejercicio 2: Configurar permisos para un proyecto web (Intermedio)

Imagina que administras un servidor web. Configura los permisos para que el usuario www-data (servidor web) pueda leer archivos pero no modificarlos, y que solo el propietario pueda editarlos.

Ver solución
solución
# Crear estructura web de prueba mkdir -p ~/webtest/{html,logs} echo "<h1>Hola</h1>" > ~/webtest/html/index.html # Propietario: tu usuario, Grupo: www-data sudo chown -R $(whoami):www-data ~/webtest/ # Directorios: propietario rwx, grupo rx, otros nada find ~/webtest -type d -exec chmod 750 {} \; # Archivos: propietario rw, grupo r, otros nada find ~/webtest -type f -exec chmod 640 {} \; # Verificar ls -laR ~/webtest/

Ejercicio 3: Auditoría de permisos peligrosos (Avanzado)

En un servidor de producción, encontrar archivos con permisos peligrosos (SUID, escritura para todos, etc.) es una tarea de seguridad habitual. Escribe los comandos para auditar permisos en tu sistema.

Ver solución
solución
# Encontrar archivos con SUID (potencial riesgo) sudo find / -perm -4000 -type f 2>/dev/null # Encontrar archivos con SGID sudo find / -perm -2000 -type f 2>/dev/null # Archivos con permisos de escritura para TODOS sudo find / -perm -o+w -type f ! -path "/proc/*" ! -path "/sys/*" 2>/dev/null # Archivos sin propietario (huérfanos) sudo find / -nouser -o -nogroup 2>/dev/null # Directorios con escritura global SIN Sticky bit sudo find / -type d -perm -o+w ! -perm -1000 2>/dev/null

Estos comandos son parte esencial de cualquier auditoría de seguridad en Linux. Los archivos SUID deben revisarse periódicamente porque si un atacante compromete uno de estos programas, obtiene privilegios de root. Los archivos con escritura global son potenciales vectores de ataque, y los archivos huérfanos pueden indicar que un usuario fue eliminado dejando archivos sin propietario válido.

✅ Para profundizar
Dominar ficheros, directorios y permisos es la base sobre la que se construye todo lo demás en Linux. Desde aquí puedes explorar permisos avanzados con ACLs para control de acceso más granular, Bash scripting para automatizar la gestión de archivos, gestión de discos y particiones para entender cómo Linux monta los sistemas de archivos, o seguridad básica en Linux para aplicar estos conocimientos de permisos a la protección de tu sistema.

Recuerda que la práctica es la mejor maestra. Abre una terminal, crea archivos de prueba, experimenta con los permisos, y observa cómo cambia el comportamiento del sistema cuando modificas propietarios y modos. El sistema de permisos de Linux lleva más de 50 años demostrando su eficacia, desde los laboratorios Bell donde nació Unix hasta los millones de servidores que sostienen Internet hoy. Comprenderlo te convierte en un usuario que realmente controla su sistema operativo.

❓ Preguntas frecuentes sobre Ficheros, Directorios y Permisos en Linux: guía completa

Las dudas más comunes respondidas de forma clara y directa.

Las letras rwx representan los tres tipos de permisos en Linux: r (read, lectura), w (write, escritura) y x (execute, ejecución). Cada archivo tiene tres conjuntos de rwx: para el propietario, para el grupo y para el resto de usuarios. Por ejemplo, rwxr-xr-- significa que el propietario puede leer, escribir y ejecutar; el grupo puede leer y ejecutar; y el resto solo puede leer.
chmod 755 establece permisos rwxr-xr-x: el propietario puede leer, escribir y ejecutar, mientras que grupo y otros pueden leer y ejecutar. Es el permiso estándar para directorios y scripts ejecutables. chmod 644 establece rw-r--r--: el propietario puede leer y escribir, y todos los demás solo pueden leer. Es el permiso estándar para archivos de datos y documentos.
El directorio raíz, representado por / (una sola barra), es el punto de inicio de toda la estructura del sistema de archivos en Linux. Todos los archivos y directorios del sistema cuelgan de esta raíz en una estructura de árbol jerárquico. Es el equivalente conceptual de C:\ en Windows, pero en Linux no hay letras de unidad: todo está bajo /.
Usa el comando ls -l (o ls -la para incluir archivos ocultos). La primera columna de la salida muestra los permisos en formato rwx. Por ejemplo: -rw-r--r-- 1 usuario grupo 1234 feb 26 10:00 archivo.txt. El primer carácter indica el tipo (- para archivo, d para directorio), seguido de los permisos de propietario, grupo y otros.
chmod cambia los permisos de un archivo (quién puede leer, escribir o ejecutar). chown cambia el propietario y/o el grupo de un archivo (a quién pertenece). Son complementarios: chown decide quién es el dueño, y chmod decide qué puede hacer cada tipo de usuario con el archivo.
Linux usa un sistema de permisos estricto donde los archivos del sistema pertenecen al usuario root (administrador). Los usuarios normales no pueden modificarlos porque no tienen permisos de escritura. Esto es una característica de seguridad: protege al sistema de modificaciones accidentales o maliciosas. Cuando necesitas hacer cambios administrativos, usas sudo para obtener privilegios temporales de root.
El bit Sticky (representado por t en los permisos) es un permiso especial que se usa en directorios compartidos como /tmp. Cuando el bit Sticky está activado, los usuarios pueden crear archivos en el directorio pero solo pueden borrar sus propios archivos, no los de otros usuarios. Esto permite que /tmp sea un directorio temporal compartido sin que los usuarios puedan borrar archivos ajenos.
Valora este artículo

💬 Foro de discusión

¿Tienes dudas sobre Ficheros, Directorios y Permisos en Linux: guía completa? Comparte tu pregunta con la comunidad.

¿Tienes cuenta? o comenta como invitado ↓

Todavía no hay mensajes. ¡Sé el primero en participar!

🎓 ¿Se puede aprender Linux con un curso bonificado por FUNDAE?

Sí. Todo lo que estás practicando en la terminal se puede llevar a un curso tutorizado de Bash y Shell Script bonificable al 100 % por FUNDAE si trabajas por cuenta ajena en España. Ciberaula es centro acreditado desde 1997.

Bash Scripting y Terminal Linux: Automatización de Sistemas (70 h) →

También te puede encajar: Administración de Sistemas Linux y Shell Script para Empresas → · Administración de Servidores Linux para Empresas: de Cero a Nivel Avanzado →

Ver todos los cursos de Linux bonificados del catálogo →  ·  Ciberaula · Centro acreditado FUNDAE (Reg. 99000171) · 91 530 33 87 · admision@ciberaula.com