Los permisos de archivos son esenciales para la seguridad y el funcionamiento eficiente de un servidor. Permiten controlar quién puede leer, escribir o ejecutar un archivo. Este post explica cómo funcionan los permisos de archivos en un servidor, cómo se configuran y cómo se gestionan.
Estructura de Permisos
En sistemas tipo Unix/Linux, los permisos de archivos están organizados en tres categorías:
- Usuario (Owner): El propietario del archivo.
- Grupo (Group): Un grupo de usuarios que tienen acceso al archivo.
- Otros (Others): Todos los demás usuarios.
Cada categoría tiene tres tipos de permisos:
- Lectura (Read – r): Permite leer el contenido del archivo.
- Escritura (Write – w): Permite modificar el contenido del archivo.
- Ejecución (Execute – x): Permite ejecutar el archivo si es un script o un programa.
Representación de Permisos
Los permisos se representan mediante una combinación de caracteres y números. Por ejemplo, los permisos rwxr-xr--
se descomponen de la siguiente manera:
- Usuario (Owner):
rwx
(lectura, escritura, ejecución) - Grupo (Group):
r-x
(lectura, sin escritura, ejecución) - Otros (Others):
r--
(lectura, sin escritura, sin ejecución)
En formato numérico, estos permisos se representan como 755
:
- rwx = 4 + 2 + 1 = 7
- r-x = 4 + 0 + 1 = 5
- r– = 4 + 0 + 0 = 4
Comandos Básicos para Gestionar Permisos
1. ls -l
El comando ls -l
muestra una lista detallada de archivos y directorios con sus permisos. Ejemplo de salida:
-rwxr-xr-- 1 usuario grupo 1234 jun 1 12:34 archivo.txt
2. chmod
El comando chmod
cambia los permisos de un archivo o directorio. Sintaxis básica:
chmod [permisos] [archivo]
Ejemplos:
- Modo simbólico:
chmod u+x archivo.txt
(añade permiso de ejecución al usuario) - Modo numérico:
chmod 755 archivo.txt
(establece permisos rwxr-xr-x)
3. chown
El comando chown
cambia el propietario de un archivo o directorio. Sintaxis básica:
chown [usuario] [archivo]
Ejemplo:
chown usuario archivo.txt
4. chgrp
El comando chgrp
cambia el grupo propietario de un archivo o directorio. Sintaxis básica:
chgrp [grupo] [archivo]
Ejemplo:
chgrp grupo archivo.txt
Ejemplos Prácticos
Cambiar permisos usando chmod
- Dar permisos completos al propietario y solo lectura al grupo y otros:
chmod 744 archivo.txt
- Quitar permisos de escritura al grupo y otros:
chmod go-w archivo.txt
Cambiar propietario y grupo usando chown
y chgrp
- Cambiar el propietario del archivo:
chown nuevo_usuario archivo.txt
- Cambiar el grupo propietario del archivo:
chgrp nuevo_grupo archivo.txt
- Cambiar tanto el propietario como el grupo:
chown nuevo_usuario:nuevo_grupo archivo.txt
Permisos Especiales
Además de los permisos básicos, existen permisos especiales que ofrecen funcionalidades adicionales:
- Setuid (Set User ID):
chmod u+s archivo
– Ejecuta el archivo con los permisos del propietario. - Setgid (Set Group ID):
chmod g+s archivo
– Ejecuta el archivo con los permisos del grupo. - Sticky Bit:
chmod +t directorio
– Solo el propietario puede eliminar archivos en el directorio.
Entender y gestionar los permisos de archivos es crucial para mantener la seguridad y el correcto funcionamiento de un servidor. Con los comandos ls -l
, chmod
, chown
y chgrp
, puedes administrar eficazmente quién tiene acceso a tus archivos y qué pueden hacer con ellos.