Entendiendo los permisos de archivos y directorios en UNIX
¿Alguna vez has ingresado "ls -l" en una línea de comando de UNIX y has visto algo como esto?
–rwxrwxrwx | 1 | bob | Grupo1 | 27 | Jan 3 09:20 | awk_script |
drwxr–r– | 347 | john | Grupo1 | 347 | Jul 23 14:41 | data |
lrwx—— | 995 | mike | Grupo1 | 995 | Nov 28 00:41 | nunyabiz |
¿Te preguntas qué significa "drwxr–r–" o por qué no puedes editar, abrir o incluso leer algunos archivos o directorios? Bueno, no temas. Estoy aquí para guiarte a través de este laberinto de caracteres para que no entres en pánico como yo la primera vez que me enfrenté a estos símbolos.
Determinando el tipo de archivo o directorio
Utilicemos el ejemplo anterior para este ejercicio. Comenzando con la primera columna (la que tiene "-rwxrwxrwx"), leemos de izquierda a derecha.
El primer carácter, en este caso "-", indica el tipo de archivo o directorio.
- | Archivo ordinario |
d | Directorio |
b | Archivo especial de bloque |
l | Enlace simbólico |
c | Archivo especial de caracteres |
h | Directorio oculto |
m | Archivo migrado (posiblemente a una supercomputadora o estación de trabajo designada) |
Para evitar confusiones entre tus archivos y directorios, siempre nombra tus directorios en MAYÚSCULAS.
Lectura, escritura y ejecución
Los siguientes nueve caracteres (rwxrwxrwx) revelan los permisos del archivo o directorio. Los permisos se dividen en tres conjuntos de tres, uno para cada uno de los tres tipos de permisos de UNIX: propietario, grupo y otros. Los permisos de lectura, escritura y ejecución corresponden a las letras r, w y x de la siguiente manera:
Cómo recuperar una contraseña de BIOS perdida: dos métodos efectivosr | Lectura |
w | Escritura |
x | Ejecución |
Si un "-" está en lugar de la r, w o x, ese permiso está denegado. Por ejemplo, "rw-" en el primer conjunto de tres caracteres significa que el propietario puede leer y escribir en el archivo pero no puede ejecutarlo; "r-x" significa que el propietario puede leer y ejecutar el archivo pero no puede escribir en él. Los tres caracteres siguientes significan lo mismo, pero se aplican al "grupo", mientras que los últimos tres caracteres se aplican a "otros".
Enlaces, propietario, tamaño, fecha y nombre de archivo
La columna dos muestra el número de archivos enlazados simbólicamente al elemento listado. (Por ejemplo, "nunyabiz" tiene 995 enlaces a él). Si el elemento mostrado no es un archivo sino un directorio, esta columna muestra cuántos subdirectorios contiene el directorio listado (puedes ver que el directorio "data" tiene 347 subdirectorios, incluyéndose a sí mismo). La columna tres muestra el propietario del archivo o directorio, denotado por tu ID de inicio de sesión (mike, bob, etc.). La columna cuatro enumera el grupo del elemento. La columna cinco muestra el tamaño del archivo o directorio en bytes. La columna seis consiste en la fecha y hora en que se modificó o creó el archivo o directorio. Por último, la columna siete muestra el nombre del archivo o directorio listado en orden alfabético.
Aplicando lo que has aprendido
Ahora deberías poder leer con precisión la información de la lista "awk_script" en el primer párrafo. Puedes ver que es un archivo ordinario con los siguientes permisos:
- | Archivo ordinario |
r | El propietario puede leer el archivo |
w | El propietario puede escribir en el archivo |
x | El propietario puede ejecutar el archivo |
r | El grupo puede leer el archivo |
w | El grupo puede escribir en el archivo |
x | El grupo puede ejecutar el archivo |
r | Otros pueden leer el archivo |
w | Otros pueden escribir en el archivo |
x | Otros pueden ejecutar el archivo |
Ahora, observa la lista de "data" (drwxr–r–). Este es un (d) directorio donde el propietario puede (rwx) leer, escribir y ejecutar el directorio. El grupo y otros solo pueden (r–) leer el directorio sin la capacidad de escribir o ejecutar (–). Por último, observa la lista de "nunyabiz". Es un enlace simbólico (indicado por la "l") que solo el propietario puede (rwx) leer, escribir o ejecutar. Nadie más tiene ningún permiso, como se muestra por los (——).
Cambiando permisos con "chmod"
Ahora, toda esta información es inútil a menos que sepas cómo cambiarla para tu propósito específico. El comando para abordar este problema es "chmod". Hay más de una forma de cambiar los permisos, pero prefiero el método del código OCTAL. Este método se puede memorizar fácilmente utilizando la siguiente tabla. A cada permiso (un total de nueve) se le asigna un valor numérico, como se muestra en Tabla A.
Propietario: | Leer | 400 |
Escribir | 200 | |
Ejecutar | 100 | |
Grupo: | Leer | 40 |
Escribir | 20 | |
Ejecutar | 10 | |
Otros: | Leer | 4 |
Escribir | 2 | |
Ejecutar | 1 | |
––– | ||
Total = | 777 |
Recuerdo estos números recordando que el propietario es la persona más importante que tiene los permisos, seguido por el grupo del propietario, y finalmente otros tienen la menor importancia con respecto a mis archivos. Por lo tanto, lo más importante obtiene los números más grandes en la posición de las centenas (400, 200, 100), el grupo obtiene los siguientes más altos en la posición de las decenas (40, 20, 10), y finalmente otros tienen los valores más pequeños en la posición de las unidades (4, 2, 1).
Cómo funciona y cómo probar una fuente de alimentación para PCPara diferenciar entre leer, escribir y ejecutar, solo recuerdo que es más importante poder leer el archivo; por lo tanto, eso da el número más grande en el grupo (400, 40, 4). Lo siguiente en importancia es poder escribir en el archivo, por lo que este permiso recibe el valor intermedio disponible (200, 20, 2). Por último, ejecutar el archivo es de menor importancia; este número es el más pequeño del grupo (100, 10, 1).
Ahora solo tienes que pensar en qué permisos quieres, sumar los valores asociados a los permisos y escribir chmod seguido del total y el nombre del archivo o directorio. El siguiente comando otorga todos los permisos al archivo "file123":
chmod 777 file123
Aquí tienes algunos ejemplos de cadenas de permisos y los valores totales asociados a ellos. Recuerda: propietario, grupo y otros.
rw–rw–rw– | 666 (400 + 200 + 40 + 20 + 4 + 2 = 666) |
rwxr–r– | 744 (400 + 200 + 100 + 40 + 4 = 744) |
rwxr–xr–x | 755 (400 + 200 + 100 + 40 + 10 + 4 + 1 = 755) |
Entiendo que esto puede parecer complejo al principio, pero estoy seguro de que si lees esto cuidadosamente, entenderás rápidamente y recordarás cómo establecer los permisos en tus archivos y directorios.
Ahora es tu turno para evaluarnos. ¿Qué piensas de la explicación de Mike sobre los permisos de archivos y directorios en UNIX? ¿Te será útil esta información? Publica un comentario o envía un correo electrónico a Mike Hayes y cuéntanos qué piensas.
En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Centros de Datos, allí encontraras muchos artículos similares a Entendiendo los permisos de archivos y directorios en UNIX , tenemos lo ultimo en tecnología 2023.
Artículos Relacionados