Guía de Permisos de Archivos en Linux
Los permisos de archivos en sistemas Linux son un componente fundamental de la seguridad y control de acceso. Este artículo te proporcionará una comprensión completa de los permisos de archivos en Linux, cómo se establecen y cómo se gestionan.
Conceptos Fundamentales
En Linux, cada archivo y directorio tiene asociados tres conjuntos de permisos:
- Permisos de Usuario (propietario): Determinan lo que el propietario del archivo puede hacer con él. Esto es crucial ya que el propietario tiene control total sobre el archivo.
- Permisos de Grupo: Aplican a un grupo de usuarios específico. Los miembros de este grupo tienen estos permisos en el archivo o directorio.
- Permisos de Otros (públicos): Son para cualquier otro usuario que no sea el propietario ni miembro del grupo especificado.
Cada conjunto de permisos consta de tres tipos básicos:
- Lectura (r): Permite ver el contenido del archivo o listar el contenido del directorio.
- Escritura (w): Permite modificar el archivo o crear y eliminar archivos en el directorio.
- Ejecución (x): Permite ejecutar el archivo como un programa o ingresar a un directorio.
Notación de Permisos
Los permisos se representan con una notación de nueve caracteres en Linux. Un ejemplo de notación de permisos es:
-rwxr-xr-- 1 usuario grupo 1024 Sep 8 14:30 archivo.txt
- El primer carácter indica el tipo de archivo (por ejemplo,
-
para archivo regular,d
para directorio). - Los tres grupos de tres caracteres representan los permisos de usuario, grupo y otros, respectivamente.
- En el ejemplo anterior, el propietario tiene permisos de lectura, escritura y ejecución, el grupo tiene permisos de lectura y ejecución, y otros solo tienen permisos de lectura.
Cambiar Permisos
Puedes cambiar los permisos de un archivo o directorio utilizando el comando chmod
. Aquí hay algunos ejemplos:
- Cambiar permisos numéricamente (formato octal):
chmod 644 archivo.txt
Esto establece permisos de -rw-r--r--
en el archivo.
- Cambiar permisos utilizando formato simbólico:
chmod u+x archivo.sh
Esto agrega permiso de ejecución al usuario en el archivo.
- Otorgar o quitar permisos a través de la notación simbólica:
chmod g+w archivo.txt
Esto otorga permisos de escritura al grupo en el archivo.
Tabla que relaciona el formato octal con el formato simbólico para los permisos de archivos en Linux:
Formato Octal | Formato Simbólico | Descripción |
---|---|---|
0 | — | Sin permisos |
1 | –x | Ejecución |
2 | -w- | Escritura |
3 | -wx | Escritura y ejecución |
4 | r– | Lectura |
5 | r-x | Lectura y ejecución |
6 | rw- | Lectura y escritura |
7 | rwx | Lectura, escritura y ejecución |
Por ejemplo:
- El permiso
chmod 644 archivo.txt
es equivalente achmod u=rw-,go=r-- archivo.txt
. - El permiso
chmod 751 directorio
es equivalente achmod u=rwx,g=rx,o=x directorio
.
Esta tabla te permite comprender cómo se expresan los permisos en formato octal y cómo se traducen a notación simbólica para aplicarlos a archivos y directorios en Linux.
Modificar los permisos
Esta tabla muestra la notación simbólica se utiliza con el comando chmod
para modificar los permisos de archivos y directorios:
Notación Simbólica | Descripción | Ejemplo |
---|---|---|
u | Propietario (Usuario) | |
g | Grupo | |
o | Otros (Público) | |
a | Todos (Combinación de u, g y o) | |
+ | Agregar permisos | |
– | Quitar permisos | |
= | Establecer permisos | |
r | Lectura | u+r (Propietario) |
w | Escritura | g-w (Grupo) |
x | Ejecución | o+x (Otros) |
s | SUID (Set-User-ID) | u+s (Propietario) |
S | Despejar SUID | g-s (Grupo) |
t | SGID (Set-Group-ID) | o+t (Otros) |
T | Despejar SGID | a+T (Todos) |
Ejemplos de uso:
- Para agregar permisos de escritura al propietario de un archivo:
chmod u+w archivo.txt
- Para quitar permisos de ejecución al grupo de un archivo:
chmod g-x archivo.txt
- Para establecer permisos de lectura y escritura para otros usuarios en un directorio:
chmod o=rw directorio/
- Para establecer el bit SUID (Set-User-ID) en un archivo ejecutable:
chmod u+s programa
- Para despejar el bit SGID (Set-Group-ID) en un directorio:
chmod g-s directorio/
Esta tabla te proporciona una referencia rápida para utilizar la notación simbólica al establecer permisos en archivos y directorios en sistemas Unix y Linux. Puedes combinar diferentes símbolos y permisos para lograr configuraciones específicas de acceso a tus archivos y directorios.
Listar Permisos Actuales
Puedes verificar los permisos actuales de un archivo o directorio con el comando ls -l
:
ls -l archivo.txt
Herramientas de Administración de Permisos
chown
: Cambia el propietario de un archivo o directorio.- chmod : Cambia los permisos (acceso) de archivos y directorios
chgrp
: Cambia el grupo propietario de un archivo o directorio.umask
: Controla los permisos predeterminados para nuevos archivos y directorios creados por un usuario.
Ejemplos de Escenarios Comunes
- Archivos de Configuración: Los archivos de configuración (por ejemplo,
sshd_config
) suelen tener permisos restrictivos para evitar modificaciones no autorizadas. - Archivos Ejecutables: Los archivos ejecutables (por ejemplo,
script.sh
) deben tener permisos de ejecución para poder ejecutarse. - Directorios de Usuario: Los directorios de usuario (
/home/usuario
) suelen tener permisos de lectura y ejecución para otros usuarios, pero no permisos de escritura. - Compartir Archivos: Si deseas compartir un archivo con otros usuarios, puedes otorgar permisos de lectura a un grupo al que pertenecen esos usuarios.
- Directorios Web: En servidores web, los archivos de un sitio web suelen tener permisos de lectura para el público (
-r--r--r--
), mientras que los directorios deben tener permisos de ejecución para permitir la navegación.
Conclusión
Comprender y administrar los permisos de archivos en Linux es esencial para garantizar la seguridad y el control de acceso en el sistema. La notación de permisos, el comando chmod
y las herramientas relacionadas son herramientas poderosas para configurar y gestionar permisos según tus necesidades específicas.
Entradas recientes
Por qué no debes aplicar cambios los viernes (ni justo antes de vacaciones, ni al terminar la jornada)
Lecciones reales para desarrolladores y mantenedores que quieren dormir tranquilos Introducción Los filósofos dicen que…
Cómo solucioné el error de renovación con Certbot: «Invalid response from /.well-known/acme-challenge»
Durante la renovación de un certificado SSL con Certbot en un servidor Ubuntu con Apache,…
5 años de revolución digital: cómo la tecnología está redefiniendo nuestra sociedad
La evolución de la digitalización global: 2019-2024 En tan solo cinco años, el mundo…
Redefiniendo la Ética de las Máquinas: Asimov y Kant Frente a la Inteligencia Artificial
La ciencia ficción ha sido, a lo largo del tiempo, un campo fértil para la…
Di adéu a les notificacions! Assegura’t que els teus certificats TLS es renovin automàticament
Let's Encrypt ha estat una peça clau en la seguretat web en oferir certificats TLS…
Guía para Instalar una Máquina Virtual en VirtualBox y Configurar un Servidor LAMP
En esta guía te explicaremos paso a paso cómo instalar una máquina virtual en VirtualBox…
Esta web usa cookies.