chmod ("change mode", cambiar modo en el idioma inglés) es una llamada al sistema y su comando asociado en el sistema operativo UNIX (estandarizados en POSIX y otros estándares) que permite cambiar los permisos de acceso de un fichero o directorio.
Las opciones del comando chmod se especifica del siguiente modo:
Donde:
modificadores es opcional, y puede tomar los valores:
El orden y compatibilidad de los modificadores está dada por:
Esto significa que f, h y v pueden ser usados todos a la vez, e independientemente de los valores de los demás modificadores; H, L y P son ignorados salvo que se especifique explícitamente la opción R
permisos corresponde a uno de los modos que se describen a continuación, y enumera los tipos de permisos que se brindan a las clases de usuarios.
fichero/directorio fichero o directorio al cual se otorga el permiso
Ejemplo en lenguaje de programación C:
mode es un número entero que específica los permisos, como se detallará en el siguiente ejemplo
Existen tres permisos independientes, llamados permisos básicos, que pueden ser permitidos (estado 1) o denegados (estado 0) a un fichero y/o directorio
El significado de estos tres permisos se resume en la siguiente tabla:
Los permisos de sistemas UNIX se dividen en cuatro clases, conocidas como usuario, grupo, otros y todos (con frecuencia abreviado UGOA por sus siglas en inglés).
Por lo tanto, las clases de usuarios a los cuales se les puede asignar los permisos básicos anteriormente mencionados son:
Los permisos efectivos aplicados a un determinado usuario en relación a un fichero se determinan en un orden lógico de precedencia. Por ejemplo, el usuario propietario del fichero tendrá los permisos efectivos dados a la clase de usuario, sin importar los asignados a la clase de grupo o a la clase de otros.
Existen 2 formas o modos de asignar los permisos a los usuarios:
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 o 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:
Por ejemplo:
Posee 3 modificadores que permiten realizar la tarea:
Por ejemplo:
Los sistemas UNIX emplean típicamente tres permisos o modos adicionales. Estos permisos especiales se asignan a ficheros o directorios en conjunto, no a cada clase de forma separada (como sucedía con los permisos básicos).
Estos tres permisos (especificables de forma independiente), un bit por cada uno de ellos, permiten 8 combinaciones posibles que se expresan con un dígito en base 8 (del 0 al 7, uno por cada combinación posible) que se antepone al modo de permisos. Así, el modo se ampliaría ahora del 0000 al 7777.
Por ejemplo:
Escribe un comentario o lo que quieras sobre Chmod (directo, no tienes que registrarte)
Comentarios
(de más nuevos a más antiguos)