No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

C贸mo se manejan los permisos

11/23
Recursos

Los permisos son las capacidades que tiene cada usuario dentro del sistema operativo, no todos los usuarios pueden hacer todas las acciones sobre ciertos archivos y carpetas.

Cuando listamos archivos utilizando el comando ls -l la primera columna que nos aparece es la de permisos.

image.png

Tipos de archivos

El primer caracter puede ser uno de estos 3:

| Atributo | Tipo de archivo | | --- | --- | | - | Es un archivo normal, como un documento de texto, una foto, un video, etc. | | d | Por directory es un directorio | | l | Es un enlace simb贸lico. Es algo que veremos en pr贸ximas clases | | b | Bloque especial, son archivos que manejan informaci贸n para el sistema, como la informaci贸n de un disco duro |

Sin t铆tulo.png

Permisos de usuario

Los siguientes caracteres se leen de 3 en 3, por cada uno de los tipos de usuario.

Owner

El due帽o del archivo, si no se ha cambiado, es quien lo creo y tiene mayor jerarqu铆a sobre los otros 3. Le corresponden los primeros 3 caracteres de los permisos.

Group

Se puede crear grupos de usuarios para darle a todos o varios los mismos permisos. A estos usuarios le corresponden el cuarto, quinto y sexto caracter de los permisos de usuarios y tienen mayor jerarqu铆a que el 煤ltimo.

World

Tambi茅n llamado "otros", es cualquier otro usuario que no pertenezca a un grupo de usuario y tampoco sea el due帽o, este tiene la menor jerarqu铆a.

Tipos de permisos

| S铆mbolo | Significado | Permiso | | --- | --- | --- | | r | readable | Significa que puede leer su contenido | | w | writable | El usuario puede editar el contenido del archivo, tambi茅n el nombre y los permisos | | x | executable | El usuario puede ejecutarlo en caso de que sea un programa |

Los permisos se escriben en ese orden rwx. Para indicar que el permiso no est谩 disponible, se escribe un guion.

Ahora que sabes todo esto vamos con un ejercicio. Observa el siguiente grupo de permisos: drwxr-xr-x Recuerda que el primer caracter es el tipo y los siguientes se cuentan de 3 en 3 representando cada usuario.

| d | rwx | r-x | r-x | | --- | --- | --- | --- | | Esto es un directorio | owner | group | world | || El due帽o puede leer, escribir y ejecutar | El grupo puede leer y ejecutar | Los dem谩s pueden leer y ejecutar |

Vamos con otro

-rw-r--r--

| - | rw- | r-- | r-- | | --- | --- | --- | --- | | Esto es un archivo normal, como una im谩gen o un video | owner | group | world | | | El due帽o puede leer y escribir | El grupo s贸lo puede leer | El resto s贸lo puede leer |

Representando permisos de forma octal

Si organizamos los permisos de esta forma

| r | w | x | | --- | --- | --- |

E indicamos con un cero si el usuario no tiene el permiso y con un uno si el usuario si lo tiene, pongamos de ejemplo el permiso r-x:

| r | w | x | | --- | --- | --- | | 1 | 0 | 1 |

Y ahora esos n煤meros los leemos en binario, nos quedar铆a as铆.

| r | w | x | | --- | --- | --- | | 1 | 1 | 1 | || 7 |

Si repetimos esto con el resto de las combinaciones tenemos un n煤mero por cada combinaci贸n de permiso, por ejemplo el permiso r-x queda as铆:

| r | - | x | | --- | --- | --- | | 1 | 0 | 1 | || 5 |

Usando todo esto podemos leer el conjunto de permisos rwxr-xr--, as铆:

| r | w | x | | r | - | x | | r | - | - | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 1 | 1 | 1| | 1 | 0 | 1 | | 1 | 0 | 0 | 0 | || 7 |||| 5 |||| 1 |||

Ejercicios de pr谩ctica

Este concepto puede ser algo complicado as铆 que lo mejor es pr谩cticar, te dejar茅 unos ejercicios para que sea m谩s f谩cil interpretarlo.

Convierte los siguientes permisos a s铆mbolos y en su representaci贸n num茅rica:

  1. De un directorio, el due帽o tiene permiso de lectura y escritura, el grupo tiene permisos de escritura y ejecuci贸n y world no tiene permisos.
  2. De un enlace simb贸lico el due帽o tiene todos los permisos, el grupo y world s贸lo de lectura.
  3. De un archivo comun todos tienen todos los permisos, pero el world no tiene permiso de ejecuci贸n.

Si sientes que necesitas m谩s informaci贸n puedes preguntar a la comunidad o pr谩cticar en la terminal.

Contribuci贸n creada con los aportes de: Miguel Gonzalez.

Aportes 246

Preguntas 26

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

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 鈥淥ctal鈥.

<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.

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.

馃搶 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.

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 puede servir esta imagen que la saque del otro curos de la terminal del 2019

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.

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

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


Esta imagen me ayud贸 a entender el modo octal.


Aqu铆 mi respuesta teacher 馃槃

Esta informaci贸n puede acalarar un poco m谩s de donde salen los n煤meros 7 y 5.
(

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

Ejemplos:

Espero a alguien le sirva.

馃搶 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.


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

Asigna permisos de lectura, escritura y ejecuci贸n para los usuarios 鈥渙tros鈥 a todos los archivos de la carpeta
#chmod o=rwx *

Asigna todos los permisos a todos los usuarios para el archivo fichero.txt
#chmod a=rwx fichero.txt

Quita todos los permisos para los usuario del grupo y los usuarios otros.
#chmod go= *

Da todos los permisos al due帽o del fichero, a los del grupo del due帽o le asigna permisos de lectura y escritura y a los otros usuarios les quita todos los permisos.
#chmod u=rwx,g=rw,o= *

GENERADOR DE PERMISOS

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

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

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.

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鈥搑鈥 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鈥搙鈥搙 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.

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 鈥榦thers鈥)][-(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

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)

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 鈥渃hmod +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 鈥搙
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

Permisos especiales de Linux: SUID, SGID/GUID y Sticky Bit

SUID

SUID o Set Owner User ID es un indicador de bit de permiso que se aplica a los ejecutables.聽SUID permite que un usuario alternativo ejecute un ejecutable con los mismos permisos que el propietario del archivo en lugar de los permisos del usuario alternativo.

Agregar bit SUID

chmod u+s file
# forma num茅rica: cuarto d铆gito a los permisos normales con n煤mero octal siempre 4.
chmod 4766 file

# Queda as铆:
rwsrw-rw-

Eliminar bit SUID

chmod u-s file
chmod 0766 file

Agregar opci贸n de ejecuci贸n cuando el bit SUID es s may煤scula para que pase a s min煤scula y sea ejecutable:

chmod +x file

SGID / 鈥淕UID鈥

SGID es similar a SUID.聽Con el conjunto de bits SGID, cualquier usuario que ejecute el archivo tendr谩 los mismos permisos que el propietario del grupo del archivo.

Su beneficio est谩 en el manejo del directorio.聽Cuando se aplica el permiso SGID a un directorio, todos los subdirectorios y archivos creados dentro de este directorio obtendr谩n la misma propiedad de grupo que el directorio principal (no la propiedad de grupo del usuario que cre贸 los archivos y directorios).

馃挕 GUID (globally unique identifier) se refiere usualmente a una forma m谩s robusta de UUID (universally unique identifier), y parece fuera de lugar respecto de los permisos de usuarios y grupos en particular. Tradicionalmente, sin embargo, alguna documentaci贸n de Unix refieren a SGID como bit GUID.

.
Agregar bit SGID

chmod g+s file

# forma num茅rica: cuarto d铆gito a los permisos normales con n煤mero octal siempre 2.
chmod 2766 file 
# Queda as铆:
rwxrwsrw-

Eliminar bit SGID

chmod g-s file
chmod 0766 file

Sticky bits

El sticky bit funciona en el directorio.聽Con el sticky bit establecido en un directorio, todos los archivos en el directorio solo pueden ser eliminados o renombrados por los propietarios del archivo o por la ra铆z.

Esto se usa normalmente en el directorio /tmp que funciona como la papelera de archivos temporales.

linuxhandbook:~$ ls -ld /tmp
drwxrwxrwt 1 root root 512 Apr 12 13:24 /tmp

Como puede ver, la carpeta /tmp, tiene la letra聽t聽en el mismo lugar donde esperamos ver聽x聽o聽聽para otros permisos.聽Esto significa que un usuario (excepto root) no puede eliminar los archivos temporales creados por otros usuarios en el directorio /tmp.

Agregar sticky bit

chmod +t my_dir
chmod 1766

Eliminar:

chmod -t my_dir
chmod 0766

Si el directorio no tiene el permiso de ejecuci贸n establecido para todos, establecer un bit fijo har谩 que se muestre T en lugar de t.聽Una indicaci贸n de que las cosas no son del todo correctas con el bit pegajoso.
.
.

Para h4ckers, vector de Privilege Escalation SUID/SGID:

# para obtener todos los SUID
find / -perm -4000 2>/dev/null

# para obtener todos los SGID/"GUID"
find / -perm -2000 2>/dev/null

# encuentra todos los sticky bits
find / -perm -1000 2>/dev/null

Encontrar interesantes:

find / -type f -perm 0777  #busque archivos con los permisos 777 (archivos legibles, grabables y ejecutables por todos los usuarios)
find / -perm a=x    #encontrar archivos ejecutables

#Encuentra carpetas en las que se puede escribir en todo el mundo
find / -writable -type d 2>/dev/null  
find / -perm -222 -type d 2>/dev/null 
find / -perm -o w -type d 2>/dev/null

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.

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.

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 鈥淪i 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 鈥淎rchivo 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."

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.

Rapida y excelente explicaion de como pasar de binario a modo octal: https://www.youtube.com/watch?v=CT2yM2tjuH0

La forma de asignar permisos mediante el estilo Octal es:

Hola, esta es la soluci贸n a la que llegue en los ejercicios propuestos 馃槂

Para la representaci贸n en sistema octal, los digitos rwx asumen los siguientes valores (en funci贸n de su posici贸n en binario):

r = 2虏 = 4;
w = 2鹿 = 2;
x = 2鈦 = 1.

De all铆 que, por ejemplo, los permisos rwx sean igual a 7 (4+2+1), y los permisos r-x sean igual a 5 (4+0+1).

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

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

Manejando permisos

  • 鈥-鈥 : archivo normal
  • 鈥渄鈥 : un directorio
  • 鈥渓鈥 : un link simb贸lico
  • 鈥渂鈥 : 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

En el sistema de permisos en octal, los n煤meros representan combinaciones de permisos, por ejemplo:

7: Todos los permisos (lectura, escritura y ejecuci贸n).
6: Lectura y escritura, pero sin ejecuci贸n.
5: Lectura y ejecuci贸n, pero sin escritura.
4: Solo lectura.
3: Escritura y ejecuci贸n, pero sin lectura.
2: Solo escritura.
1: Solo ejecuci贸n.
0: Sin permisos (ning煤n permiso est谩 concedido).

Es solo conversi贸n de binario a octal

valor octal = 2^2 * r + 2^1 * w + 2^0 * x

Due帽o = 2^2 * 1+ 2^1 * 1 + 2^0 * 1 = 7
Grupo = 2^2 * 1+ 2^1 * 0 + 2^0 * 1 = 5

![](

La respuesta al ejercicio es:

  1. drw鈥搘x鈥
  2. lrwxr鈥搑--
  3. -rwxrwx鈥

where are the exercises

Por primera vez en todo el curso (siendo nuevo en la programaci贸n) me pregunte, ser谩 que esto si es para mi? jajaj un video de casi 6m, se me fue mas de 30m. pero se puede 馃槂

El codigo debio ser puesto asi.

<-rwxr-xr-x> 

De un directorio, el due帽o tiene permiso de lectura y escritura, el grupo tiene permisos de escritura y ejecuci贸n y world no tiene permisos.
drw-rx鈥

De un enlace simb贸lico el due帽o tiene todos los permisos, el grupo y world s贸lo de lectura.
Irwx-r-r

De un archivo comun todos tienen todos los permisos, pero el world no tiene permiso de ejecuci贸n.
-rwx-rwx-rw

Convierte los siguientes permisos a s铆mbolos y en su representaci贸n num茅rica:
.

  • EJERCICIO #1: De un directorio, el聽due帽o聽tiene permiso de lectura y escritura, el聽grupo聽tiene permisos de escritura y ejecuci贸n y聽world聽no tiene permisos.
    .
    d rw- -wx 鈥
    110 011 000
    6 3 0
    .
  • EJERCICIO #2: De un enlace simb贸lico el聽due帽o聽tiene todos los permisos, el聽grupo聽y聽world聽s贸lo de lectura.
    .
    l rwx r-- r鈥
    111 100 100
    7 4 4
    .
  • EJERCICIO #3: De un archivo com煤n todos tienen todos los permisos, pero el聽world聽no tiene permiso de ejecuci贸n.
    .
  • rwx rwx rw-
    111 111 110
    7 7 6

Convierte los siguientes permisos a s铆mbolos y en su representaci贸n num茅rica:

  1. De un directorio, el due帽o tiene permiso de lectura y escritura, el grupo tiene permisos de escritura y ejecuci贸n y world no tiene permisos.
  2. De un enlace simb贸lico el due帽o tiene todos los permisos, el grupo y world s贸lo de lectura.
  3. De un archivo comun todos tienen todos los permisos, pero el world no tiene permiso de ejecuci贸n.

1.drw鈥搘x鈥
2.lrwxr鈥搑--
3.-rwxrwxrw-

Mi respuesta al ejercicio de pr谩ctica dejado al pie de la clase:

De un directorio, el due帽o tiene permiso de lectura y escritura, el grupo tiene permisos de escritura y ejecuci贸n y world no tiene permisos:

drw鈥搘x鈥

De un enlace simb贸lico el due帽o tiene todos los permisos, el grupo y world solo de lectura.

lrwxr鈥搑--

De un archivo com煤n todos tienen los permisos, pero el world no tiene permiso de ejecuci贸n.

-rwxrwxrw-

modo octal
1 1 1
r w x
4 2 1
7

modo octal
1 0 1
r - x
4 1
5

modo octal
1 0 1
r - x
4 1
5

Amo a los compa帽eros que dejan en los comentarios informaci贸n de valor, son los mejores motores de busqueda de informaci贸n.

PRACTICA

1. De un directorio, el due帽o tiene permiso de lectura y escritura, el grupo tiene permisos de escritura y ejecuci贸n y world no tiene permisos.

chmod -R 630 /MiCarpeta
drw鈥搘x鈥

2. De un enlace simb贸lico el due帽o tiene todos los permisos, el grupo y world s贸lo de lectura.

744
lrwxr鈥搑--

3. De un archivo comun todos tienen todos los permisos, pero el world no tiene permiso de ejecuci贸n.

chmod 776 MiArchivo.txt (_Ext: html. js, et_c)
-rwxrwxrw-

Este es el ejercicio de la pr谩ctica.

  • De un directorio, el聽due帽o聽tiene permiso de lectura y escritura, el聽grupo聽tiene permisos de escritura y ejecuci贸n y聽world聽no tiene permisos.
    • drw- -wx 鈥 --
    • 110 011 000
    • 6 3 0
  • De un enlace simb贸lico el聽due帽o聽tiene todos los permisos, el聽grupo聽y聽world聽s贸lo de lectura.
    • lrwxr- - r - -
    • 111 100 100
    • 7 4 4
  • De un archivo com煤n todos tienen todos los permisos, pero el聽world聽no tiene permiso de ejecuci贸n.
    • -rwxrwxrw-
    • 111 111 110
    • 7 7 6

Estamos viendo comandos y de repente n煤meros 驴?

  • 1 1 1 = 7 ???
  • 1 0 1 = 5 ???

Solo es recordar las posiciones 1 2 4 8 16 32 64 y que el 1 significa ON y el 0OFF de esta manera obtendremos la soluci贸n

  • 1 1 1 = 7 --> 1 + 2 + 4 = 7
  • 1 0 1 = 5 --> 1 + 0 + 4 = 5

Aunque hay muy buenos aportes, son unas notas que tengo de hace alg煤n tiempo, por si a alguien le vale de algo.

Seg煤n la categor铆a de usuarios nos encontramos:

Usuario
Grupo
Otros

Seg煤n la categor铆a de permisos nos encontramos:

Lectura
Escritura
Ejecuci贸n

Una forma de cambiar permisos podr铆a ser la siguiente, suponiendo que archivo.txt pertenece al usuario root y que no tiene ning煤n otro tipo de permisos:

chmod o=rw archivo.txt

Hemos asignado al archivo archivo.txt permisos de lectura y escritura para otros. L贸gicamente para hacer este cambio nos tendr铆amos que loguear como root, ya que es el propietario.

Para dar permisos de propietario, grupo propietario u otros a un archivo lo har铆amos de la siguiente:

chmod u=rwx NOMBRE-ARCHIVO
chmod g=rx NOMBRE-ARCHIVO

rwx ser谩 en funci贸n de los permisos que se quieren a帽adir o modificar.

Veamos el siguiente comando:

chmod u=rwx,g=rwx,o=rwx /etc/syslog/network

Modifica los permisos para todas las categor铆as de usuario. Como vemos es un m茅todo largo, pero hay otro sistema, que es el empleado y mucho m谩s corto y f谩cil, empleando el sistema octal.

Teniendo en cuenta esto, para devolver al comando anterior, los permisos originales, se har铆a de la siguiente forma:

chmod 664 /etc/syslog/network

Si ahora quisi茅ramos sustituir el comando largo por el octal, lo har铆amos de la siguiente forma:

chmod 777 /etc/syslog/network

El sticky bit solo lo aplica a directorios, es decir, si yo lo pongo a un archivo tal cual, lo podr茅 borrar, pero si un directorio tiene el permiso +t, si ese usuario crea contenido dentro de 茅l, solo podr谩 borrarlo 茅l.

Mi respuesta a los ejercicios:, si alguno no est谩 bien, lo corrigen por favor 馃槈
De un directorio, el due帽o tiene permiso de lectura y escritura, el grupo tiene permisos de escritura y ejecuci贸n y world no tiene permisos.

`drw--wx---`

De un enlace simb贸lico el聽due帽o聽tiene todos los permisos, el聽grupo聽y聽world聽s贸lo de lectura.

`lrwxr--r--`

De un archivo com煤n todos tienen todos los permisos, pero el聽world聽no tiene permiso de ejecuci贸n.

`-rwxrwxrw-`

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

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.

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

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.

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

Nota:

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

Por ende corresponde a un archivo regular con permiso 755

Los permisos son las capacidades que tiene cada usuario dentro del sistema operativo, no todos los usuarios pueden hacer todas las acciones sobre ciertos archivos y carpetas.

Cuando listamos archivos utilizando el comando ls -l la primera columna que nos aparece es la de permisos.

Tipos de archivos

El primer caracter puede ser uno de estos 3:

Atributo Tipo de archivo
- Es un archivo normal, como un documento de texto, una foto, un video, etc.
d Por directory es un directorio
l Es un enlace simb贸lico. Es algo que veremos en pr贸ximas clases
b Bloque especial, son archivos que manejan informaci贸n para el sistema, como la informaci贸n de un disco duro

Permisos de usuario

Los siguientes caracteres se leen de 3 en 3, por cada uno de los tipos de usuario.

Owner

El due帽o del archivo, si no se ha cambiado, es quien lo creo y tiene mayor jerarqu铆a sobre los otros 3. Le corresponden los primeros 3 caracteres de los permisos.

Group

Se puede crear grupos de usuarios para darle a todos o varios los mismos permisos. A estos usuarios le corresponden el cuarto, quinto y sexto caracter de los permisos de usuarios y tienen mayor jerarqu铆a que el 煤ltimo.

World

Tambi茅n llamado 鈥渙tros鈥, es cualquier otro usuario que no pertenezca a un grupo de usuario y tampoco sea el due帽o, este tiene la menor jerarqu铆a.

Tipos de permisos

S铆mbolo Significado Permiso
r readable Significa que puede leer su contenido
w writable El usuario puede editar el contenido del archivo, tambi茅n el nombre y los permisos
x executable El usuario puede ejecutarlo en caso de que sea un programa

Los permisos se escriben en ese orden rwx. Para indicar que el permiso no est谩 disponible, se escribe un guion.

Ahora que sabes todo esto vamos con un ejercicio. Observa el siguiente grupo de permisos: drwxr-xr-x Recuerda que el primer caracter es el tipo y los siguientes se cuentan de 3 en 3 representando cada usuario.

d rwx r-x r-x
Esto es un directorio owner group world
El due帽o puede leer, escribir y ejecutar El grupo puede leer y ejecutar Los dem谩s pueden leer y ejecutar

Vamos con otro

-rw-r--r--

- rw- r鈥 r鈥
Esto es un archivo normal, como una im谩gen o un video owner group world
El due帽o puede leer y escribir El grupo s贸lo puede leer El resto s贸lo puede leer

Representando permisos de forma octal

Si organizamos los permisos de esta forma

r w x

E indicamos con un cero si el usuario no tiene el permiso y con un uno si el usuario si lo tiene, pongamos de ejemplo el permiso r-x:

r w x
1 0 1

Y ahora esos n煤meros los leemos en binario, nos quedar铆a as铆.

r w x
1 1 1
7

Si repetimos esto con el resto de las combinaciones tenemos un n煤mero por cada combinaci贸n de permiso, por ejemplo el permiso r-x queda as铆:

r - x
1 0 1
5

Usando todo esto podemos leer el conjunto de permisos rwxr-xr--, as铆:

r w x r - x r - -
1 1 1 1 0 1 1 0 0
7 5 1

Ejercicios de pr谩ctica

Este concepto puede ser algo complicado as铆 que lo mejor es pr谩cticar, te dejar茅 unos ejercicios para que sea m谩s f谩cil interpretarlo.

Convierte los siguientes permisos a s铆mbolos y en su representaci贸n num茅rica:

  1. De un directorio, el due帽o tiene permiso de lectura y escritura, el grupo tiene permisos de escritura y ejecuci贸n y world no tiene permisos.
  2. De un enlace simb贸lico el due帽o tiene todos los permisos, el grupo y world s贸lo de lectura.
  3. De un archivo comun todos tienen todos los permisos, pero el world no tiene permiso de ejecuci贸n.

Si sientes que necesitas m谩s informaci贸n puedes preguntar a la comunidad o pr谩cticar en la terminal.

Contribuci贸n creada con los aportes de: Miguel Gonzalez.

Los valores de los bits de permiso son los siguientes:

0: Sin permiso
1: Permiso de ejecuci贸n
2: Permiso de escritura
3: Permiso de lectura y ejecuci贸n
4: Permiso de lectura
5: Permiso de lectura y escritura
6: Permiso de ejecuci贸n y escritura
7: Permiso de lectura, escritura y ejecuci贸n
Por ejemplo, el modo octal 0755 significa que el propietario del archivo tiene permisos de lectura, escritura y ejecuci贸n, el grupo al que pertenece el archivo tiene permisos de lectura y ejecuci贸n, y los dem谩s usuarios tienen permisos de lectura.

Para cambiar los permisos de un archivo o directorio en modo octal, se utiliza el comando chmod. El formato del comando es el siguiente:

chmod octal_mode archivo_o_directorio
Por ejemplo, para cambiar los permisos del archivo archivo.txt a 0755, se ejecutar铆a el siguiente comando:

chmod 0755 archivo.txt
El modo octal es un m茅todo eficiente para representar los permisos de archivo, ya que es m谩s compacto que el modo simb贸lico. Adem谩s, el modo octal es m谩s preciso, ya que permite especificar los permisos de cada tipo de usuario de forma individual.

De un directorio, el due帽o tiene permiso de lectura y escritura, el grupo tiene permisos de escritura y ejecuci贸n y world no tiene permisos.
drw- -wx 鈥 110 011 000 octal 630

De un enlace simb贸lico el due帽o tiene todos los permisos, el grupo y world s贸lo de lectura.
lrwxr鈥搑-- 111 100 100 oct 744

De un archivo comun todos tienen todos los permisos, pero el world no tiene permiso de ejecuci贸n.

-rwxrwxrw- 111 111 110 octal 776

Los permisos son las capacidades que tiene cada usuario dentro del sistema operativo, no todos los usuarios pueden hacer todas las acciones sobre ciertos archivos y carpetas.

Cuando listamos archivos utilizando el comando ls -l la primera columna que nos aparece es la de permisos.

Tipos de archivos
El primer caracter puede ser uno de estos 3:

Atributo Tipo de archivo
- Es un archivo normal, como un documento de texto, una foto, un video, etc.
d Por directory es un directorio
l Es un enlace simb贸lico. Es algo que veremos en pr贸ximas clases
b Bloque especial, son archivos que manejan informaci贸n para el sistema, como la informaci贸n de un disco duro

Permisos de usuario
Los siguientes caracteres se leen de 3 en 3, por cada uno de los tipos de usuario.

Owner
El due帽o del archivo, si no se ha cambiado, es quien lo creo y tiene mayor jerarqu铆a sobre los otros 3. Le corresponden los primeros 3 caracteres de los permisos.

Group
Se puede crear grupos de usuarios para darle a todos o varios los mismos permisos. A estos usuarios le corresponden el cuarto, quinto y sexto caracter de los permisos de usuarios y tienen mayor jerarqu铆a que el 煤ltimo.

World
Tambi茅n llamado 鈥渙tros鈥, es cualquier otro usuario que no pertenezca a un grupo de usuario y tampoco sea el due帽o, este tiene la menor jerarqu铆a.

Tipos de permisos

S铆mbolo Significado Permiso
r readable Significa que puede leer su contenido
w writable El usuario puede editar el contenido del archivo, tambi茅n el nombre y los permisos
x executable El usuario puede ejecutarlo en caso de que sea un programa

Los permisos se escriben en ese orden rwx. Para indicar que el permiso no est谩 disponible, se escribe un guion.

Ahora que sabes todo esto vamos con un ejercicio. Observa el siguiente grupo de permisos: drwxr-xr-x Recuerda que el primer caracter es el tipo y los siguientes se cuentan de 3 en 3 representando cada usuario.

d rwx r-x r-x
Esto es un directorio owner group world
El due帽o puede leer, escribir y ejecutar El grupo puede leer y ejecutar Los dem谩s pueden leer y ejecutar

Vamos con otro

-rw-r鈥搑--

- rw- r鈥 r鈥
Esto es un archivo normal, como una im谩gen o un video owner group world
El due帽o puede leer y escribir El grupo s贸lo puede leer El resto s贸lo puede leer

Representando permisos de forma octal
Si organizamos los permisos de esta forma

r w x

E indicamos con un cero si el usuario no tiene el permiso y con un uno si el usuario si lo tiene, pongamos de ejemplo el permiso r-x:

r w x
1 0 1

Y ahora esos n煤meros los leemos en binario, nos quedar铆a as铆.

r w x
1 1 1
7

Si repetimos esto con el resto de las combinaciones tenemos un n煤mero por cada combinaci贸n de permiso, por ejemplo el permiso r-x queda as铆:

r - x
1 0 1
5

Usando todo esto podemos leer el conjunto de permisos rwxr-xr鈥, as铆:

r w x r - x r - -
1 1 1 1 0 1 1 0 0
7 5 1

Ejercicios de pr谩ctica
Este concepto puede ser algo complicado as铆 que lo mejor es pr谩cticar, te dejar茅 unos ejercicios para que sea m谩s f谩cil interpretarlo.

Convierte los siguientes permisos a s铆mbolos y en su representaci贸n num茅rica:

De un directorio, el due帽o tiene permiso de lectura y escritura, el grupo tiene permisos de escritura y ejecuci贸n y world no tiene permisos.
De un enlace simb贸lico el due帽o tiene todos los permisos, el grupo y world s贸lo de lectura.
De un archivo comun todos tienen todos los permisos, pero el world no tiene permiso de ejecuci贸n.
Si sientes que necesitas m谩s informaci贸n puedes preguntar a la comunidad o pr谩cticar en la terminal.

Contribuci贸n creada con los aportes de: Miguel Gonzalez.

EJERCICIO RESUELTO.

Convierte los siguientes permisos a s铆mbolos y en su representaci贸n num茅rica:

  1. De un directorio, el聽due帽o聽tiene permiso de lectura y escritura, el聽grupo聽tiene permisos de escritura y ejecuci贸n y聽world聽no tiene permisos.
  2. De un enlace simb贸lico el聽due帽o聽tiene todos los permisos, el聽grupo聽y聽world聽s贸lo de lectura.
  3. De un archivo comun todos tienen todos los permisos, pero el聽world聽no tiene permiso de ejecuci贸n.

SOLUCION:

Due帽o Grupo World
rw- -wx - - -
6 3 0
Due帽o Grupo World
rwx r - - r - -
7 4 4
Due帽o Grupo World
rwx rwx rw-
7 7 6

Ejercicio de pr谩ctica

  1. drw鈥搘x鈥 | r | w | - | | - | w | x | | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | | 1 | 1 | 0 | | 0 | 1 | 1 | | 0 | 0 | 0 || 6 |||| 3 |||| 0 ||||
  2. lrwxr鈥搑-- | r | w | x | | r | - | - | | r | - | - | | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | | 1 | 1 | 1 | | 1 | 0 | 0 | | 1 | 0 | 0 || 7 |||| 4 |||| 4 ||||
  3. -rwxrwxrw- | r | w | x | | r | w | x | | r | w | - | | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | 鈥 | | 1 | 1 | 1 | | 1 | 1 | 1 | | 1 | 1 | - || 7 |||| 7 |||| 6 ||||

驴C贸mo se manejan los permisos?


Tipos de archivos

  • -: Significa que es un archivo tipo normal.
  • d: Significa que es un archivo tipo directorio.
  • l: Significa que es un archivo tipo link simb贸lico.
  • b: Significa que es un archivo tipo bloque simb贸lico. Son archivos que manejan la informaci贸n de bloques de datos como una USB.
    .

Tipos de modo


  • Due帽o: Es la persona que crea el archivo. Este grupo tiene permisos de lectura (read), escritura (write) y ejecuci贸n (execution). rwx (111)
  • Grupo: Un archivo compartido entre diferentes usuarios. Este grupo tiene permisos de lectura (read) y ejecuci贸n (execution). rwx (101)
  • Mundo (otros): Cualquier usuario que no pertenezca los otros grupos. Este grupo tiene permisos de lectura (read) y ejecuci贸n (execution). rwx (101)
    .

Cada uno de estos permisos puede o no estar activo, esto se representa por medio del sistema binario d贸nde uno (1) es para activo, y cero (0) es para inactivo. Tambi茅n se representan en bits dentro del sistema octal, lo que significa que a cada trio de permisos le corresponde un n煤mero del 0 al 7, ejemplo:
.

  • rwx = 111 (binario) = 4+2+1 = 7 (octal)
  • r-x = 101 (binario) = 4+0+1 = 5 (octal)
    .

Modo simb贸lico


Podemos asignar permisos desde la terminal de modo simb贸lico con los siguientes caracteres:

  • u: Permisos solo para el usuario.
  • g: Permisos solo para el grupo.
  • o: Permisos solo para otros (world).
  • a: Permisos para todos.

EJERCICIO PRACTICO
Convierte los siguientes permisos a s铆mbolos y en su representaci贸n num茅rica:

  1. De un directorio, el聽due帽o聽tiene permiso de lectura y escritura, el聽grupo聽tiene permisos de escritura y ejecuci贸n y聽world聽no tiene permisos.
  2. De un enlace simb贸lico el聽due帽o聽tiene todos los permisos, el聽grupo聽y聽world聽s贸lo de lectura.
  3. De un archivo comun todos tienen todos los permisos, pero el聽world聽no tiene permiso de ejecuci贸n.

drw鈥搘x鈥 = 630

lrwxr鈥攔鈥 = 744

-rwxrwxrw- = 766

Directorio:

Due帽o: Lectura y escritura (rwx)
Grupo: Escritura y ejecuci贸n (-wx)
World: Sin permisos (---)
Representaci贸n en s铆mbolos: rwx-w---
Representaci贸n num茅rica: 740

Enlace simb贸lico:

Due帽o: Todos los permisos (rwx)
Grupo: Lectura (r--)
World: Lectura (r--)
Representaci贸n en s铆mbolos: rwxr--r--
Representaci贸n num茅rica: 744

Archivo com煤n:

Due帽o: Todos los permisos (rwx)
Grupo: Todos los permisos (rwx)
World: Lectura y escritura (rw-)
Representaci贸n en s铆mbolos: rwxrwxrw-
Representaci贸n num茅rica: 766

Cabe destacar que la representaci贸n num茅rica de los permisos se basa en el sistema octal, donde cada permiso se representa mediante un n煤mero:

Lectura (r): 4
Escritura (w): 2
Ejecuci贸n (x): 1

Excelente clase profe鈥

En binario: 111101101
En octal: 755
En decimal: 493
En hexadecimal: 1ED

Porque siempre los Slides estan imcompletos 馃槮 solo tienen el puro titulo :S

Resultados de los ejercicios de pr谩ctica:

  1. drw鈥搘x鈥 = 630
  2. lrwxr鈥搑-- = 744
  3. -rwxrwxrw- = 776
    Saludos!