Como ya apuntábamos en entradas anteriores, sobre la terminal de Linux, es muy importante dominar el concepto de permisos de un archivo, cambiarlo y saber cuales tenemos que poner.
Tabla de contenidos
Los permisos son una máscara de bits que nos permite definir quien va a poder leer, escribir y/o ejecutar este archivo.
Una máscara de bits es un conjunto de bits, donde cada posición tiene un valor específico y puede valer 1 para activar esa opción, 0 si queremos desactivar la opción.
En el caso que nos ocupa la máscara tiene 3 bits: lectura, escritura y ejecución. En este orden (el orden es importante). Por ejemplo si nosotros ponemos 101 estamos diciendo que tenemos permisos para leer el archivo y para ejecutarlo, pero no para escribirlo ya que el bit de escritura vale 0. Para un manejo más simple y sencillo se utilizan números que luego se pasan a octal. Si queremos poner, todos los permisos ponemos un 7 ya que en octal es 111.
Como ya dijimos el otro día para ver los permisos de los archivos que están contenidos en un directorio podemos utilizar ls -l.
Si por el contrario, solo queremos ver los permisos que están asociados a un archivo podemos utilizar ls -l ruta_archivo.extension . Como en este ejemplo:
Para una mejor visualización por pantalla, en lugar de los números de cada máscara nos sale una r de lectura, una w de escritura y una x de ejecución. Si no tenemos alguno de estos permisos nos sale un – que nos indica que ese permiso no lo tenemos. En el caso de Cywin.ico yo tengo permisos de lectura y escritura y no de ejecución.
En Linux, todo archivo tiene asociado por lo menos, 3 grupos de permisos. De izquierda a derecha, tenemos el grupo de permisos del dueño, los permisos del grupo de usuarios a los cuales pertenece el dueño y el grupo de permisos para el resto de usuarios. Ejemplo si tenemos 2 grupos de usuarios, administradores y alumnos y tenemos un alumno con nombre de usuario Pepe. El primero grupo de permisos son los que tiene Pepe, el segundo los que tienen los alumnos y el tercero los que tienen todos los usuarios.
chmod es el comando que nos proporciona Linux, para poder cambiar los permisos desde la terminal. Su uso es muy sencillo, solo hay que poner $ chmod num1num2num3
Cada uno de los num es un número entre 0 y 7 en octal, que representa los permisos que queremos darle. El primer número indica los permisos que queremos tener como usuario, el segundo los que le damos al grupo de usuarios al que pertenecemos y el tercero los que le damos al resto. Para conseguir el numero según los permisos que queramos dar, os dejamos esta tabla (fuente Wikipedia)
Número | Binario | Lectura (r) | Escritura (w) | Ejecución (x) |
---|---|---|---|---|
0 | 000 | |||
1 | 001 | |||
2 | 010 | |||
3 | 011 | |||
4 | 100 | |||
5 | 101 | |||
6 | 110 | |||
7 | 111 |
Ejemplo de uso:
El conjunto de casos es enorme, pero sabiendo como van los números, es ir buscando en la tabla y poniendo el que corresponda, para los permisos que les queramos otorgar.
Hoy queremos hablaros de Docker un proyecto que cada día es más usado, porque permite…
Cada vez estamos más acostumbrados a usar código para generar la infraestructura (IaC), documentar nuestro…
Uno de los problemas que se presentan con una mayor frecuencia hoy en día, es…
Uno de los problemas que solemos tener los programadores, es que nos gusta estar a…
Docker es una de las herramientas más usadas por los desarrolladores, sin embargo, usarlo en…
Como seguramente sabrás el uso de JavaScript ha crecido exponencialmente en los últimos tiempos, sin…