En un sistema operativo, los usuarios permiten gestionar quién puede acceder al sistema y qué permisos tiene. Cada usuario tiene su propio perfil, configuración y archivos. En Linux, los usuarios se pueden crear con comandos como:
sudo adduser nombre_usuario
También se pueden eliminar, modificar y asignar a grupos según las necesidades. Existe, además, un tipo especial de usuario llamado usuario sudo, que tiene permisos de administración. Este usuario puede ejecutar comandos con privilegios elevados utilizando la palabra clave sudo. Por ejemplo, para actualizar el sistema:
sudo apt update
Esto es fundamental para mantener la seguridad: no todos los usuarios pueden hacer cambios críticos, solo los que tienen permisos sudo.
Interpretar los propietarios y permisos de un directorio
La instrucción ls -l en Linux muestra información detallada sobre los archivos y directorios de un directorio. Cada línea de salida tiene varios campos importantes. Vamos a centrarnos en los permisos y propietarios, que suelen ser los primeros que aparecen.
Ejemplo de resultado de ejecución de un comando ls -l:
-rw-r--r-- 1 juan alumnos 2048 jun 1 10:00 documento.txt
Cómo se interpreta:
Tipo y permisos (-rw-r--r--):
El primer carácter indica el tipo de archivo:
- archivo regular
d directorio
l enlace simbólico
Los siguientes 9 caracteres indican los permisos, divididos en bloques de 3:
1º bloque: permisos del propietario (rwx)
2º bloque: permisos del grupo (rwx)
3º bloque: permisos para otros usuarios (rwx)
Cada letra significa:
r → lectura (read)
w → escritura (write)
x → ejecución (execute)
- → sin permiso
En el ejemplo:
Propietario (rw-) → puede leer y escribir.
Grupo (r--) → puede leer.
Otros (r--) → pueden leer.
Número de enlaces (1): Número de enlaces duros al archivo.
Propietario (juan): Usuario que es dueño del archivo.
Grupo (alumnos): Grupo al que pertenece el archivo y que puede tener sus propios permisos.
Tamaño del archivo (2048): En bytes.
Fecha y hora de modificación (jun 1 10:00)
Nombre del archivo (documento.txt)
Esta información te ayuda a saber quién puede hacer qué con un archivo o directorio, y es fundamental para gestionar la seguridad y organización en sistemas Linux.
Los Permisos en UNIX
Permisos en UNIX
En los sistemas operativos basados en UNIX, los permisos de archivos y directorios son fundamentales para la seguridad y la gestión de los recursos. Estos permisos determinan quién puede leer, escribir o ejecutar un archivo o directorio, y se representan utilizando el sistema octal. Cada archivo y directorio tiene un conjunto de permisos que controlan el acceso para el propietario, el grupo y otros usuarios.
Tipos de Permisos
Existen tres tipos principales de permisos:
Lectura (r): Permite ver el contenido de un archivo o listar los archivos en un directorio.
Escritura (w): Permite modificar el contenido de un archivo o añadir/eliminar archivos en un directorio.
Ejecución (x): Permite ejecutar un archivo, si es un programa, o acceder a los archivos de un directorio.
Estructura de Permisos
Los permisos se dividen en tres conjuntos de tres bits cada uno:
Propietario (usuario): El dueño del archivo o directorio.
Grupo: Otros usuarios que pertenecen al mismo grupo que el propietario.
Otros: Todos los demás usuarios.
Cada conjunto puede tener uno o más de los siguientes bits:
r (read): Lectura, valor octal 4.
w (write): Escritura, valor octal 2.
x (execute): Ejecución, valor octal 1.
Representación en Octal
Cada conjunto de permisos (usuario, grupo, otros) se puede representar mediante un dígito octal, sumando los valores octales de los permisos que están activos.
rwx: 4 (read) + 2 (write) + 1 (execute) = 7
rw-: 4 (read) + 2 (write) + 0 (no execute) = 6
r-x: 4 (read) + 0 (no write) + 1 (execute) = 5
r--: 4 (read) + 0 (no write) + 0 (no execute) = 4
-wx: 0 (no read) + 2 (write) + 1 (execute) = 3
-w-: 0 (no read) + 2 (write) + 0 (no execute) = 2
--x: 0 (no read) + 0 (no write) + 1 (execute) = 1
---: 0 (no read) + 0 (no write) + 0 (no execute) = 0
Tabla de Permisos de UNIX
Representación Textual
Representación Octal
Representación Binaria
---
0
000
--x
1
001
-w-
2
010
-wx
3
011
r--
4
100
r-x
5
101
rw-
6
110
rwx
7
111
Ejemplo de Permisos Completos en UNIX
Para ver cómo estos permisos se combinan para el propietario, el grupo y otros, aquí hay algunos ejemplos adicionales de permisos completos: