Cuestion de Permisos - Comando CHMOD

El comando chmod te permite alterar / cambiar los derechos de acceso a archivos y directorios.
Los permisos se dan a usuarios (u) , grupo (g), otros (o) o todos (a) .

Se puede hacer a través de 2 modos: simbólico o octal.

Modo octal

Como resultado de la combinación de los tres tipos de permisos (lectura, escritura y ejecución), con las tres clases de usuarios (dueño, grupo y otros), se obtiene permisos en total que pueden ser asignados o denegados de forma independiente.

La base 8 se utiliza habitualmente para que exista un dígito por cada combinación de permisos (un bit a modo de bandera por cada permiso, con valor 1 ó 0 según el permiso esté concedido o denegado).

Así, las posibles combinaciones se resumen en números octales de tres dígitos del 000 al 777, cada uno de los cuales permite establecer un tipo de permiso distinto a cada clase de usuario:
El primer dígito establece el tipo de permiso deseado al dueño; el segundo al grupo; y el tercero al resto de los usuarios.

Asi los posibles valores de bits son:
  • 0 ninguno
  • 1 sólo ejecutar
  • 2 sólo escritura
  • 3 escritura y ejecución
  • 4 sólo lectura
  • 5 lectura y ejecución
  • 6 lectura y escritura
  • 7 todos los permisos
Por ejemplo:
chmod 766 file.txt 
brinda acceso total al dueño y lectura y escritura a los demás
chmod 770 file.txt
brinda acceso total al dueño y al grupo y elimina todos los permisos a los demás usuarios
chmod 635 file.txt
Permite lectura y escritura al dueño, escritura y ejecución al grupo, y lectura y ejecución al resto

Modo simbólico

En el modo simbólico se utilizan letras que significan:
  • r : lectura
  • w : escritura
  • x : ejecución
junto con los signos + y - que significan que se aplica o se quita dicho permiso. También se puede usar el signo = para asignar un conjunto de permisos a uno o mas grupos.

Por ejemplo:
chmod +r arch.txt
agrega permisos de lectura a todos los usuarios (solo a algunos elegidos previamente) 
chmod u+w arch.txt
agrega permisos de escritura al dueño 
chmod –x arch.txt 
elimina el permiso de ejecución a todos los usuarios 
chmod u=rw,go= arch.txt 
establece los permisos de lectura y escritura al dueño y elimina todos los permisos a los demás usuarios

Sintaxis

chmod [options] [MODE] FileName
opciones:

  • -R aplica recursivamente al directorio, archivos y subdirectorios
  • -v muestra información la versión
  • -v: lista los archivos y directorios a los que se les va aplicando el comando a medida que el mismo se ejecuta
Podemos probar con este pequeño script lo dicho anteriormente sobre los modos:

Comentarios

Entradas populares