Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Cómo se manejan los permisos

10/21
Recursos

Aportes 136

Preguntas 17

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Aporte - Generador de permisos de linux.

Inspirado en la tabla que se muestra en el curso, decidí hacer una pequeña aplicación que nos permite generar los permisos del sistema de linux en formato “Octal”.

<h4>Links</h4>

Les comparto:
El link de la aplicación: https://josenoriegaa.github.io/linux-file-system-permission-generator/index.html
El link del repositorio: https://github.com/JoseNoriegaa/linux-file-system-permission-generator

<h4>Capturas</h4>

Me gustaría saber que les parece y si tienen alguna sugerencia.

Animo!! Si estás viendo esto, es porque ya estas por la mitad de este grandioso curso, y eres increíble por nunca parar de aprender.

📌 Los permisos nos permiten definir de una manera simple y efectiva las reglas de acceso como lectura ( r), escritura (w) o ejecución (x) a determinados archivos o directorios.

Notas 😄
Cómo se manejan los permisos.

  • Cuando listamos con ls -l se muestran varias cosas. Los tipos de archivos:
    • - archivo normal.
    • d directorio.
    • l link simbólico.
    • b archivo de bloque especial.
  • Tipos de modos: rwx corresponde con read, write y execute. Se representan con 3 bits, y los podemos manejar a través de un modo octal, esto es, pasar de binario a número.
    • rwx (1,1,1) dueño. En modo octal es 7.
    • r-x (1,1,1) grupo. En modo octal es 5.
    • r-x (1,0,1) world. Octal 5.
  • Modo simbólico: Esto es para asignar los permisos a los diferentes posibles usuarios.
    • u Solo para el usuario.
    • g Solo para el grupo.
    • o Solo para otros (world).
    • a Aplica para todos.

PERMISOS
El esquema de notación simbólica se compone de 10 caracteres, ejemplo:

<-rwxr-xr-x> 

El primer carácter corresponde al tipo de archivo, los nueve restantes dan a conocer el tipo de permiso que tiene dicho archivo. Los valores que toman los archivos son los siguientes:

Las letras representan permisos para el usuario (users), el grupo (group), y para otros o el mundo (world). Estos toman valores de r  read o lectura, w  writting o escritura, x  sólo ejecución de archivos o acceso a directorios. Y cuando están activos se representan con 1, caso contrario con un 0 o -. Adicional en el sistema octagonal estos permisos a su vez tienen los siguientes valores:

Por lo que nuestro ejemplo quedaría de la siguiente manera:

Entonces en conclusión se puede decir que nuestro ejemplo:

<-rwxr-xr-x> 

Corresponde a un archivo regular con permiso 755.

Permisos

💡 Los permisos son abstracciones de acciones con los cuales lo usuarios, humanos o no, pueden operar al computador.
.

Definición de los permisos

Los permisos definen la acciones posibles para con file o el directory, ya sea r lectura, w escritura y/o x ejecución

.

@roremDev
.
En sistemas Linux, cada file o directory posee ciertos permisos, por default o asignados, con los cuales, cada individuo o identidad, de usuarios puede gestionar dicha información.
.
Los permisos, poseen la siguiente extructura:

  • Type. Un tipo con el cual - indica un file y d indica un directory
  • Owner. Permisos del propietario de dicho elemento
  • Group users. Permisos para un grupo determinado de usuarios
  • Other. Permisos para los usuarios no incluyentes en lo anterior

Acá os dejos los apuntes completos. Les dejo un pequeño resumen de todos mis apuntes. Si quieren ver a mas detalle y otra informaciòn extra, entren al link 😄 ❤️

Les dejo mis apuntes sobre el significado de cada octal para asignar permisos a nuestros archivos:

1.- El archivo se puede ejecutar
2.- El archivo se puede escribir.
3.- El archivo se puede ejecutar y escribir
4.- El archivo se puede leer.
5.- El archivo se puede leer y ejecutar.
6.- El archivo se puede escribir y leer
7.- El archivo se puede leer, escribir y ejecutar.
0.- El archivo no posee ningún permiso.

Usando una tabla de referencias binarias:
R W X
1 1 1 | 7 -> rwx
1 1 0 | 6 -> rw
1 0 1 | 5 -> rx
1 0 0 | 4 -> r
0 1 1 | 3 -> wx
0 1 0 | 2 -> wx
0 0 1 | 1 -> x
0 0 0 | 0 -> 0

El permiso seria 755, indicando que al dueño tiene todos los permisos, el grupo y otros (world) solo contará con lectura y ejecución

Aquí se explica que significa cada atributo que tiene un usuario en Linux:
https://linuxjourney.com/lesson/etc-shadow-file
https://linuxjourney.com/lesson/etc-passwd-file
.
Y el significado que tiene cada grupo el Linux:
https://linuxjourney.com/lesson/etc-group-file

Les puede servir esta imagen que la saque del otro curos de la terminal del 2019

Aquí mi respuesta teacher 😄


Esta imagen me ayudó a entender el modo octal.

Encontré esta tablita con algunos ejemplos del modo octal, me ayudo mucho:

Ejemplos:

Espero a alguien le sirva.


Esta información puede acalarar un poco más de donde salen los números 7 y 5.
(

📌 Los permisos nos permiten definir de una manera simple y efectiva las reglas de acceso como lectura ( r), escritura (w) o ejecución (x) a determinados archivos o directorios.

Cómo se manejan los permisos.

• Cuando listamos con ls -l se muestran varias cosas. Los tipos de archivos:
o `` archivo normal.
o d directorio.
o l link simbólico.
o b archivo de bloque especial.

• Tipos de modos: rwx corresponde con read, write y execute. Se representan con 3 bits, y los podemos manejar a través de un modo octal, esto es, pasar de binario a número.

o rwx (1,1,1) dueño. En modo octal es 7.
o r-x (1,1,1) grupo. En modo octal es 5.
o r-x (1,0,1) world. Octal 5.
• Modo simbólico: Esto es para asignar los permisos a los diferentes posibles usuarios.
o u Solo para el usuario.
o g Solo para el grupo.
o o Solo para otros (world).
o a Aplica para todos.

Aquí hay una lista de los permisos más comunes para los archivos:

Valor Valor Numérico Explicación
-rw——- 600 El propietario puede leer y escribir.
-rw-r–r– 644 El propietario puede leer y escribir, el grupo y otros pueden leer.
-rw-rw-rw- 666 El propietario, el grupo y otros pueden leer y escribir.
-rwx—— 700 El propietario puede leer, escribir y ejecutar, el grupo y otros no pueden hacer nada con el archivo.
-rwx–x–x 711 El propietario puede leer, escribir y ejecutar, el grupo y otros pueden ejecutar.
-rwxr-xr-x 755 El propietario puede leer, escribir y ejecutar, el grupo y otros pueden leer y ejecutar.
-rwxrwxrwx 777 EL propietario, el grupo y otros pueden leer, escribir y ejecutar.
Los permisos comunes para directorios:

Valor Valor Numérico Explicación
drwx—— 700 Solo el propietario puede leer y escribir en este directorio.
drwxr-xr-x 755 El propietario, el grupo y otros pueden leer el directorio, pero solo el propietario puede cambiar su contenido.

como recomendacion y un par de consejitos utiles:

1.Nunca debemos asignar permisos 777. Aunque a veces pueda parecer que una aplicación web no funciona si no le asignamos esos permisos a una carpeta donde se desea escribir información, el nivel 777 es muy peligroso ya que estamos asignando permisos totales a esos archivos o carpetas. Generalmente, hay que buscar soluciones de permisos más restrictivas y, en cambio, modificar los propietarios o el grupo de los archivos o carpetas.

2.Generalmente, trabajamos con 644 para ficheros y 755 para directorios. Esos son los permisos más estándar para los archivos y carpetas del servidor. Esta opción genérica no tiene por qué ser la necesaria para todos los proyectos, pero siempre es una solución bastante apropiada.
Nuevamente, si nuestra aplicación no funciona bien con este nivel de permisos, conviene estudiar quién se encuentra asignado como propietario y grupo de los archivos y carpetas. Un problema habitual es que el propietario sea root. Esto podría suponer que, cuando desde un lenguaje de programación se intenta acceder al archivo para su escritura, nos arroje un error de acceso. La solución adecuada nunca sería asignar 777 para que la aplicación funcione, sino encontrar el usuario y grupo adecuados para el contenido de la carpeta.


Bueno aquí quería aportar mi granito de arena así pude entenderlo mucho mejor
ESPERO LES SIRVA SALUDOS DESDE COLOMBIA

0 = — = sin acceso
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

No les ha pasado que ven archivos filename.exe en Windows (para lo que lo utilicen ), estos indica que el archivo es ejecutable. Lo que es un indicador para que el Sistema Operativo pueda ejecutar dicho archivo.
En el caso de Linux , los archivos no utilizan extensiones para indicarles al SO que es ejecutable.
Es por esa razón, que existen un conjunto de comandos para dar esos permisos de ejecución “chmod +x file name”, entre otros permisos.

Cómo se manejan los permisos

<h5>Tipos de archivo</h5>
Atributo Tipo de archivo
- Un archivo normal.
d Un directorio.

– INSERT – 129,1 80% - w -> write

  • x -> execute

Diferencia de permisos entre archivos y directorios

Ya que los permisos usan 3 bits, podemos representarlos con el sistema numérico octal.

Octal Binario Permisos
0 000
1 001 –x
2 010 -w-
3 011 -wx
4 100 r–
5 101 r-x
6 110 rw-
7 111 rwx
<h5>Modo simbólico</h5>
Símbolo Significado
u Sólo para el usuario
g Sólo para el grupo
o Sólo para otros(Es el world)
a Aplica para todos

GENERADOR DE PERMISOS

https://chmodcommand.com/ he encontrado esta web que me ha sido muy util :3

Viendo la siguiente tabla:

1 = 1
2 = 10
3 = 11
4 = 100
5 = 101
6 = 110
7 = 111

El resultado sería:

755

Dónde 7 es igual a leer, escribir y ejecutar; y 5 es igual a leer y ejecutar.

Los permisos realmente no se basa en el sistema octal, se basa en el sistema binario como lo explica un tutorial de los recursos de este video. Si hacen el calculo de cuanto equivale:

|   R    |    W   |   X   |
|   ---   |    ---   |   ---  |
|    1    |    0    |    1   |

Octal

Daria un resultado mal visto como octal ya que el sistema númerico octal no se basa en multiplicar por 2 cada uno de los permisos.

**resultado octal = 5**

Si estudian como funciona el sistema númerico octal suelen darse cuenta que tiene un conteo como decimal pero a diferencia del decimal este va de 0-7. Significa que no va multiplicando por 2 cada uno de los numeros siguientes.

Binario

Realmente usa el sistema numerico binario el sistema de permisos, ya que si hacen el ejercicio de saber su valor veran el resultado claramente.

Ejemplo

|   R    |    W   |   X   |
|   ---   |    ---   |   ---  |
|    1    |    0    |    1   |

resultado: 101

Agregamos los bits necesarios(5) para completar 1 byte.

resultado:  00000101
conversion: 5

Aclaración

Le dicen sistema octal ya que el resultado final en binario proporciona un numero decimal que termina en 0-7.


Ninguno | 0

Solo ejecutar | 1

Solo escribir | 2

Escribir / ejecutar | 3

Solo leer | 4

Leer / ejecutar | 5

Leer / escribir | 6

Todos los permisos | 7

Para determinar la cantidad de permisos que tienen los diferentes usuarios, se hace una matriz, en la que ponemos 3 casillas, con un 1 o un cero, cada casilla, representa un permiso y tiene un valor. r de read de leer, w de write de escribir y x de execute de ejecutar. r tiene un valor de 4 si está 'prendido' , w un valor de 2 y x un valor de 1, claramente si está con un 0 ( osea apagado) no valdrá nada, por lo que no podemos sumar ese permiso, dando a entender que el permiso, no se tiene. La suma de estos, caracteriza su totalidad: Si tienes todos los permisos el total será: 7, si solo tienes r y w entonces sería 6, si tienes w y x sería 3; por último si tienes r y x la suma daría: 5, cada resultado es único y nos permite saber qué permisos se tienen.

Les comparto mis apuntes, espero que le sirva. 😄

Operadores de control

Los operadores de control son símbolos reservados por la terminal que nos permiten ejecutar más de un comando o encadenarlos. Podemos correrlos síncronamente, asíncronamente e incluso con condicionales.

Utilidad

Es útil si queremos crear una carpeta y después movernos a ella, o queremos ver si se cumple un comando (que se ejecute exitosamente) se corra un segundo.

Síncrona

Quiere decir que se ejecuta un comando detrás de otro, es decir, termina de ejecutarse uno y luego se ejecuta el siguiente. Este funciona similar a al condicional OR.

;

Define que luego de un comando se ejecute otro.

$ comando1; comando2; comando3; comandoN

Así se ejecuta comandos de forma síncrona.

cal

Es una utilidad básica de la terminal que muestra un calendario y en blanco muestra la fecha en la que estamos.

Asíncrona

Por cada comando que ejecutemos se va a abrir una shell o línea de comandos en segundo plano, se va a estar usando un hilo del procesador por cada comando que estemos usando.

Esto permite ejecutar comandos de forma paralela, pero sin embargo, podemos atorar algún proceso o un comando se puede ejecutar indefinidamente.

&

Simboliza que vamos a ejecutar asíncronamente. Le estamos diciendo a la terminal que por cada comando que coloquemos queremos que la terminal cree una línea de comandos en segundo plano.

$ comando1 & comando2 & comando3 & comandoN

Aparte de los resultados que esperamos obtener tenemos otras cosas tales como estas.

$ [1] 6823 #Corresponde la comando1
$ [2] 1684 #Corresponde al comando2
$ [3] 1684 #Corresponde al comando3
$ [N] PID #Corresponde al comandoN

El [1] simboliza el primero comando que hemos puesto y los números seguidos a él es el número de proceso o PID.

$ [Orden del comando] [Número de PID]

Correr comandos de manera condicional

&& o AND

Va ejecutando los comandos a medida que los mismos se van ejecutando de manera conecta.

Es una forma de decir “Si el comando 1 se ejecutó correctamente entonces ejecute el comando 2, caso contrario que se detenga el proceso.”

$ comando1 & comando2 & comando3 & comandoN

|| o OR

Es como ejecutar comandos de manera asíncrona, pero no lo es. Lo que hace es que sin importar el estado de un comando el siguiente a este de todas formas igual se va a ejecutar.

$ comando1 || comando2 || comando3 || comandoN

Webpack

Es un empaquetador de archivos que nos ayuda a servirlos en las web para poder observarlos de manera activa.

Lo que hace este es que ejecuta los comandos que empaquetan todos estos archivos (HTML, CSS, JS, etc) y si el comando se ejecutó de manera exitosa hay que ejecutar otro que muestre estos archivos empaquetados ya en la web.

Reto

Hacer que el siguiente comando muestre el mensaje de “Archivo creado”.

#Comando que da error.
$ cd asdf && touch archivo.txt $$ echo "Archivo creado."
#Corrección
$ mkdir asdf && cd asdf && touch archivo.txt && echo "Archivo creado." || echo "Error."

Tipos de archivos:

  • ‘-’ : un archivo normal

  • d : un directorio

  • l : un link simbolico

  • b : un archivo de bloque especial. Son archivos que manejan la información de los bloques de datos como una USB
    .

Tipos de modo de cada archivo:

  • Dueño (la persona que crea el archivo): tipo de permiso rwx 1 1 1

  • Grupo (un archivo compartido por usuarios): tipo de permiso r-x 1 0 1

  • World (otros, cualquier que no sea dueño ni grupo): tipo de permiso r-x 1 0 1
    .

Hace algunos meses me encontré con unos archivos con una c (en las sesiones de tmux) y me dio pena el no saber que tipo de archivos eran (ya que la encender el servicio de tmux me decía que ese archivo ya existía y no podía ingresar a tmux) hasta que después logre encontrar su significado y su función (era un archivo de tipo socket):
.
"just as regular files and directories do, and this permission data determines access to the associated device. Most device files are, by convention, located in a directory called /dev (or in subdirectories of /dev). Device files are marked in directory listings by b or c in the initial position:
.
crw------- 1 root system 10, 0 Oct 01 1997 __vg10
brw-rw---- 1 root system 10, 1 Aug 14 1996 hd6
.
Here the b and c denote, respectively, block devices and character devices. This distinction is not particularly significant for the administrator. Every device file also has a major number and a minor number. The major number associates the device with a particular major device, and the minor number identifies the particular instance of that device. In the above example, the major and minor numbers appear as 10, 0 and 10, 1 respectively.

Fuente: https://www.distributednetworks.com/unix-system-admin/module4/device-files.php

10. Cómo se manejan los permisos:

Existen los siguientes tipos de archivos:

  1. - : Un archivo normal.
  2. d : Un directorio.
  3. l : Un link simbólico.
  4. b : Un archivo de bloque especial. Son archivos que manejan la información de los bloques de datos como una USB.

Dueño: rwx — 1 1 1

Grupo: rx —- 1 0 1

World: rx —- 1 0 1


Este es el módo simbólico:

  1. u: Solo para el usuario.
  2. g: Solo para el grupo
  3. o: Solo para otros (es el world).
  4. a: aplica para todos.

Es un pro este profesor!!

Los permisos son muy importantes, aprendiendo le cambie los permisos a un archivo muy importante de Linux llamado rc.local y lo cambie en 300 dispositivos IOT, casi pierdo mi trabajo, pero se pudo corregir. Así que ¡mucho cuidado con los permisos!

Para comprender un poco mejor como pasarlo a octal

  1. Cada 1 tiene una posición comenzando de derecha a izquierda desde el 0.
  2. Cada posición va representar un valor que es igual a 2^posición.
  3. Finalmente se suman los valores de posiciones.

ejemplo con (rwx):

  • X esta en la posición 0 por lo tanto su valor es 2^0 = 1.
  • W esta en la posición 1 por lo tanto su valor es 2^1 = 2.
  • R esta en la posición 1 por lo tanto su valor es 2^2 = 4.
  • ahora 1+2+4 = 7 por lo tanto su valor octal es 7

ejemplo con (r-x):

  • X esta en la posición 0 por lo tanto su valor es 2^0 = 1.
  • W esta en la posición 1 pero al ser un 0 no se toma en cuenta para esta suma
  • R esta en la posición 1 por lo tanto su valor es 2^2 = 4.
  • ahora 1+4 = 5 por lo tanto su valor octal es 5

Manejando permisos

  • “-” : archivo normal
  • “d” : un directorio
  • “l” : un link simbólico
  • “b” : un archivo de bloque especial, como los de USB

Tipo de modo

  • Dueño, grupo, world
  • R: read
  • W: write
  • X: execute
  • Se puede representar en modo octal, esto es, asignando un 1/0 y sumando según la posición los 3 bits

Modo simbólico

  • u : solo para el usuario
  • g : solo para el grupo
  • o : solo para los otros
  • a : aplica para todos

Un poco rara la clase hay que repasarlo de nuevo.

en la pausa solo hay que calcular el binario. Owner es igual a 7
Group es igual a 5
Others es igual a 5

Los archivos tienen su propia descripción, es decir que cuando los listamos, también se nos lista su tipo: - Un archivo normal (el guión o dash) d Un directorio l link simbólico (la ele) b Un archivo de bloque especial (archivos que manejan volúmenes externos)

A la hora de hacer un comando para cambiar permisos, también podemos apliclar ciertas alteraciones con las letras: u = Solo para el usuario g = Solo para el grupo o = Solo para otros a = aplica para todos

rwx
000 = 0
001 = 1
010 = 2
011 = 3
100 = 4
101 = 5
110 = 6
111 = 7

En el octal se dan los permisos de la siguiente forma
4® + (2)w + 1(x) y se manejan en grupos de 3 uno para cada grupo por ejemplo.
777 le dará permisos de lectura, escritura y ejecución a el dueño, grupo y world.

Si colocamos 0, tendremos que no tendrá permisos ese grupo en especifico. Ejemplo queremos que world no pueda realizar ninguna opcion sobre nuestro archivo, pero grupo puede leer y ejecutarlo, dueño tendrá todos los permisos, se coloca. 750.

Todos los archivos de Unix tienen un:

Dueño
grupo
otros Las operaciones que pueden hacerse sobre un archivo son:
Escribir [w]
leer [r]
Ejecutar [x] Para alterar los permisos asociados se tienen los siguientes comandos: chmod: Cambia individualmente los permisos ejemplo: [chmod ][o (Indica ‘others’)][-(menos quita el permiso)] [w (Cual es el permiso que se desea quitar)]
Para dar el permiso: chmod +x hello.php (Esto dará el permiso de ejecutar a los tres grupos)

chown: Cambia quien es el propietario del archivo. ejemplo: [chown] [nombre del usuario] [nombre del archivo] chonw www-data hello.php

chgrp: Cambia quien es el grupo de usuarios que pueda acceder al archivo. ejemplo: [chgrp] [nombre del usuario] [nombre del archivo] chgrp www-data hello.php

Para ejecutar un archivo: [./ (punto, barra es donde estamos actualmente)] [hello.php (El nombre del archivo)].

Permisos

7 = 111 = rwx = Todos los permisos. 6 = 110 = rw- = Permiso de lectura y escritura. 5 = 101 = r-x = Permiso de lectura y ejecución. 4 = 100 = r-- = Permiso de lectura. 3 = 011 = -wx = Permiso de escritura y ejecución. 2 = 010 = -w- = Permiso de escritura. 1 = 001 = --x = Permiso de ejecución. 0 = 000 = — = Sin permisos.

Super usuario - root: Este usuario puede leer y escribir cualquier archivo del sistema, y ejecutar algunos archivos. y también hay otras operaciones que están reservadas para el.

Podemos utilizarlo con el comando sudo

Nombre Binario Octal
Dueño 111 7
Grupo 101 5
World 101 5

**Modo octal**

octal > binario > Permisos

  0     000        - - -

  1     001        - - x

  2     010        - w -

  3     011        - w x

  4     100        r - -

  5     101        r - x

  6     110        r w -

  7     111        r w x

excelnete dato para conocer mas sobre los permisos en linux

Modo octal 4 2 1

Por eso el dueño tiene 7 -> 4 +2+1

Grupo tiene 5 -> 4+0+1 igual que mundo o otros

octal	Binario	Permisos
0	    000	    ---
1	    001	    --x
2	    010	    -w-
3	    011	    -wx
4	    100	    r--
5	    101	    r-x
6	    110	    rw-
7	    111	    rwx

Pensé era en binario:
111 = 7
101 = 5
101 = 5
pero no ¿? 🤔🤔🤔 estoy confundido 😅
Octal???
4 + 2 + 1 = 7
4 + 0 + 1 = 5
4 + 0 + 1 = 5

Manejar Permisos.

Los archivos tienen persmisos de acceso según qué usuario intentente acceder a este, estos son:

  • Read ® → posisbilidad de leer el documento
  • Write (w) → posibilidad de escribir (modificar) el ducumento
  • eXecute (x) → posibilidad de ejecutar el documento
    .

Modo octal:
Read, write y execute (wrx) representan los permisos de un archivo, estos se pueden representar en sistema binario (en ese orden) según el permiso esté habilitado o no, así 101 representa r-x, a la vez este número binario se puede representar en número natural del 0 al 8 (de allí el nombre)
.
Ejemplos:

  • 7 → 111 → wrx
  • 4 → 100 → r–
  • 1 → 001 → --x
  • 5 → 101 → r-x

.
Estos permisos se aplican a tres usuarios:

  • user (u) → usuario o dueño
  • group(g) → grupo (entorno del dueño)
  • other(o) → world, cualquier otro usuario

Nota:

  • Se puede acceder a los tipos de usuario con el modo simbolico (u,g,o), además del modo a (all, todos los usuarios)

.
Tipos de archivos:
Al momento de consultar los permisos (ls-l) también accedemos a el tipo de archivo, que puede ser:

    • → archivo normal
  • d → directorio
  • l → link simbolico
  • b → archivo de bloque especial (guarda información de un dispositivo de almacenamiento externo)

Nota:

En base a nuestro ejemplo quedaría de la siguiente manera:

Por ende corresponde a un archivo regular con permiso 755

El reto en verdad era muy sencillo, básicamente combinamos un and con un or (&& y ||).

r = 4
w=2
x=1

Ahí jugamos con los valores para los permisos, usando chmod

7, 5, 5

¿Cómo paso el 111 y el 101 a sistema octal?

"""Como son numeros en el sistema binario, lo que tenemos que hacer es
ver cuantas cifras tiene para hacer el calculo de esta manera:
> 

Numero de 3 cifras:
[Primera cifra*(2^3-1)] + [Cifra del medio*(2^2-1)] + [Ultima cifra *(2^1-1)]"""
> 

"""Numero de 2 cifras:
[Primera cifra *(2^2-1)] + [Ultima cifra *(2^1-1)]"""

111= 1*(2^3-1) + 1*(2^2-1) + 1*(2^1-1) = 7
101= 1*(2^3-1) + 0*(2^2-1) + 1*(2^1-1) = 5

Octal mode:

el buen codigo binario, creo personalmente es mas facil manejarlo así, total, es exactamente eso pero con 3 bits

Ya entendí cuando vi esto en clase!

Aqui hay una tabla donde explican que el permiso de Read, Write,Execute es 7, mientras que los permisos de read and execute equivale a 5 para ambos casos. puedes verificarlo en este link:
https://www.alcancelibre.org/staticpages/index.php/permisos-sistema-de-archivos

Excelente contenido.

Si queres leer mas en detalle sobre los permisos les dejo este enlace que me parecio muy completo y claro:
https://www.alcancelibre.org/staticpages/index.php/permisos-sistema-de-archivos

El ejemplo de modo octal debería ser 755

quien mas con el platzi day :v

Diferencias de permisos

Dueño: 7
Grupo: 5
World: 5
entonces el comando es chmod 755

Poniendo en practica los conocimientos, Descargando el archivo con curl

curl -O https://static.platzi.com/media/public/uploads/diferencia-de-permisos-entre-archivos-y-directorios_2f436ae8-2c28-408d-a7cf-c22e9426b5a2.pdf

TIPOS DE ARCHIVOS:

    - : Archivo normal.
    d : Directorio.
    l : Link simbólico.
    b : De bloque especial.

TIPOS DE MODO:

    (rwx: leer escribir ejecutar)
    Dueño: rwx -> 111
    Grupo: r-x -> 101
    World: r-x -> 101
    (NOTA: Sistema octal - 4 2 1)

MODO SIMBÓLICO:

    u : Para usuarios.
    g : Para el grupo.
    o : Para el world.
    a : Para todos.
El valor que debe aparecer en los permisos 1 1 1 es 7 5 5, esto se puede calcular de la siguiente forma: Ya que las computadoras usan un sistema binario (0 y 1), se puede ver el sistema en potencia de 2. Para el caso de 1 1 1 = 2^2 + 2^1 + 2^0 = 4 + 2 + 1 = 7. 1 0 1 = 2^2 + 0 + 2^0 = 4 + 0 + 1 = 5. Nota que cuando hay un cero (un bit apagado) ese valor no se suma, solo se coloca el 0. Sí quisiéramos que un archivo tuviera permisos de lectura, escritura pero no de ejecución (rw-) sería algo como 110: 2^2 + 2^1 + 0 = 4 + 2 + 0 = 5. Espero haber sido claro y que les ayude.

Los permisos son un tema bastante interesante en el mundo Unix y uno de las peculiaridades más valoradas de este tipo de sistemas operativos. Linux implementa este sistema de modos para los directorios y ficheros del sistema, y que podemos complementar con otras capas de seguridad como los atributos extendidos que implementan algunos sistemas de ficheros, o también otro tipo de sistemas de seguridad como las listas de control de acceso o ACL.

En algunos artículos hemos hablado de los modos o permisos, como quieras llamarlos, y seguramente ya sabes que podemos ver los permisos que tienen nuestro directorios y ficheros con un simple comando ls -l, pero en la consola se nos mostrará la forma de letras como ya sabemos. Por otro lado, también podemos usar esta misma notación o la octal para modificar estos permisos mediante el comando chmod, como también sabrás ya… ¿Pero qué ocurre si queremos listar los permisos en forma octal?

Pues bien, para poder ver la notación octal podemos usar diferentes procedimientos, aunque uno de los más sencillos es mediante el comando stat:

1
stat /etc/passwd
Con el anterior comando veremos bastante información sobre este fichero concreto, en el ejemplo /etc/passwd. Pero si queremos simplemente ver el modo o permisos en formato octal, puedes usar:

1
stat -c ‘%a’ /etc/passwd

Algo que siempre quise entender y aquí lo pude lograr. 👌✨

Gracias!

Buena clase

Dueño: la persona que crea el archivo Grupo: un archivo puede ser compartido entre diferentes usuarios World: cualquiera que no entre en la categoría ni de dueño ni de grupo

tipos de permiso: r : read w: write x: ejecutar

los archivos con atributo b son raros de encontrar

Respuesta de modo octal

  • 755

Explicando el uso de permisos con casos de uso sería genial, por ejemplo, qué permisos debería tener un template.html en un archivo que se aloja en un servidor web.

Modo Dios: 777

Paso a dejar esto, que lo ví, lo encontré lo arregle un poco y asi quedó. PD: El tutor hubiese puesto esta tabla hubiese estado de lujo sin este molesto comentario. XD

Tomado de:

Taringa … 😮 aún existe!

dueño: 421 , Grupo: 41 , world : 41

En modo octal los codigos son:

  • 1 1 1 ==> 7
  • 1 0 1 ==> 5

pero otros comunes son

  • 1 1 0 ==> 6
  • 1 0 0 ==> 4

🥴🤯

Reto: Pasar a Modo Octal 111 / 101 / 101
Solución 755

Ahì pueden ver los permisos que tienen cada usuario con el nùmero octal correspondiente. El 1 es el permiso adminito y los 0 son los permisos denegados. Por ejemplo si hay un archivo que es 750 significa que ->

7: Administrador tiene permisos de lectura, escritura y ejecuciòn.
5: Grupo tiene permisos de lectura y ejecuciòn
0: Publico No tiene ningun permiso

Que buena clase, sobre asignacion de permisos.

La conversión que hice a octal fue del siguiente modo.

  • Binario | Octal
    0 | 0
    001 | 1
    010 | 2
    011 | 3
    100 | 4
    101 | 5
    110 | 6
    111 | 7
    Dueño
    si r-w-x = 111 entonces:
    r-w-x
    1-0-0 = 4
    0-1-0 = 2
    0-0-1 = 1
    OCTAL
    4 + 2 + 1 = 7

7-5-5 en modo Octal

Aquí les dejo un breve pero sustancioso aporte del sistema de permisos:

u Solo para el usuario.
g Solo para el grupo.
o Solo para otros (world).
a Aplica para todos.

Tipos de modos: rwx corresponde con read, write y execute. Se representan con 3 bits, y los podemos manejar a través de un modo octal, esto es, pasar de binario a número.
rwx (1,1,1) dueño. En modo octal es 7.
r-x (1,1,1) grupo. En modo octal es 5.
r-x (1,0,1) world. Octal 5.