Muchas veces emos visto que damos permisos a archivos por seguridad e incliso en algunos post eh usado el comando chmod para poder ejecutar algo.
Este comando se aplica sobre ficheros o carpetas, en el caso de que sean carpetas podemos usar la opcion -R para dar permisos recursivamente a todas las carpetas y ficheros que contenga recursivamente. En cuanto a la sintaxis del comando, podemos decir que responde a
chmod [opciones] XXX nomFichero/nomCarpeta
donde en opciones podemos expecificar por ejemplo cosas como -R, XXX es el número de permisos tal y como especificamos a continuación:
Relación Numérica con los Permisos
0 = Ningún permiso (Lectura = 0 + Escritura = 0 + Ejecución = 0)
1 = Permiso de Ejecución (Lectura = 0 + Escritura = 0 + Ejecución = 1)
2 = Permiso de Escritura (Lectura = 0 + Escritura = 2 + Ejecución = 0)
3 = Permiso de Escritura y Ejecución (Lectura = 0, Escritura = 2, Ejecución = 1)
4 = Permiso de Lectura (Lectura = 4 + Escritura = 0 + Ejecución = 0)
5 = Permiso de Lectura y Ejecución (Lectura = 4 + Escritura = 0 + Ejecución = 1)
6 = Permiso de Lectura y Escritura (Lectura = 4 + Escritura = 2 + Ejecución = 0)
7 = Permiso de Lectura, Escritura y Ejecución (Lectura = 4 + Escritura2 + Ejecución = 1) =
Luego, por cada Identidad, podemos obtener un número comprendido entre 0 y 7, que delimitarán por Identidad, claramente, sus privilegios en particular sobre un archivo o carpeta.
¿Entonces, que es, por ejemplo, chmod 644?
Son los Permisos que tiene asignados cada Identidad, sobre un archivo o carpeta, según su Relación Numérica. Siempre siguiendo este orden:
Propietario = 6 (Puede Leer y Escribir)
Grupo = 4 (solo puede Leer)
Otros = 4 (solo puede Leer)
Nota: Evidentemente el comando chmod contiene muchas más opciones y formas de asignar permisos, puedes consultarlas consultando el manual del comando, para ello abre un terminal y teclea:
man chmod
El número de los permisos no está decidido al azar, sino que se basa en reglas binarias, tal y como nos detalla en su comentario:
La “regla” de los números quedaría mejor explicado y entendible si la explicas en binario:
// el 1 activa el permiso, el 0 lo apaga
Lectura escritura ejecución
0 0 0 = 0
0 0 1 = 1
0 1 0 = 2
0 1 1 = 3
1 0 0 = 4
1 0 1 = 5
1 1 0 = 6
1 1 1 = 7
Pues eso, para los que no entendiesen la relación, que vean que no está hecha al azar, si no que tiene su por qué y así no te lo tienes que aprender de memoria y nunca se te olvida
Otra manera mas intuitiva podemos usar las letras w = Writer, r= read y x=execute de escritura, lectura y ejecucion y como aditivo "+" y sustractivo "-".
entonces para identificar a quien estamos dando el permiso podemos usar g=grupo y o=otros.
De esa manera estaremos usando el cmado de la siguiente manera:
$ chmod [responzable][operador][permiso] archivo/carpeta
Ejemplo:
chmod +x archivo/carpeta (estamos dando permiso de ejecucion al propietario sobre el archivo o carpeta especificada)
chmod g-w archivo/carpeta (estamos quitando permiso de escritura al grupo sobre el archivo o carpeta especificada)
chmod o+r archivo/carpeta (estamos dando permiso de lectura a los otros usuarios sobre el archivo o carpeta especificada)
0 comentarios:
Publicar un comentario