Cambiar Permisos con chmod

publicado a la‎(s)‎ 13 oct. 2015 7:17 por Juan Jose Ramirez Lama

Chmod viene del ingles “change mode” (cambiar modo); y es un comando de los sistemas Unix que permite cambiar los permisos de acceso a un archivo o carpeta.

Cambiar los permisos Usando Números

La idea basicamente es que vamos a cambiar los permisos nuestros, de nuestro grupo, y del resto usando solo una combinación de un número de 3 cifras. Pero para entenderlo bien hay que saber que significa cada numero

4 = lectura
2 = escritura
1 = ejecución

Ahora que sabemos esto podemos entender las posibles combinaciones de estos números

1 = ejecución
2 = escritura
3 (1+2) = escritura y ejecución
4 = lectura
5 (4+1) = lectura y ejecución
6 (4+2) = lectura y escritura
7 (4+2+1) = lectura, escritura y ejecución


Con esto ya sabemos que según la combinación que armemos serán los permisos que asignemos. Bien, pero estos permisos se los podremos aplicar a 3 “grupos”: a nuestro usuario, a nuestro grupo de usuario, y al resto de los usuarios. Para entender bien como funciona esto veamos el siguiente ejemplo:

$ chmod 775 archivo

lo que hicimos en este ejemplo fue aplicar los siguientes cambios:


A nuestro usuario le dimos permisos de ejecución, lectura y escritura; al igual que a nuestro grupo. En cambio al resto de los usuarios solo les dimos permisos de lectura y escritura. Como se esto? mirando el numero “775″ del comando. La primer cifra corresponde a nuestro usuario (el primer “7″). La segunda cifra corresponde a nuestro grupo, y la tercer cifra corresponde al resto de los usuarios. Entonces sabiendo esto ahora es solo cuestion de “jugar” con las combinaciones de números y ver que es lo que pasa.


Otro ejempo más, le daremos permisos de solo lectura a un archivo

$ chmod 444 archivo

y ahora le daremos a nuestro usuario todos los derechos y al resto solo permisos de lectura

$ chmod 744 archivo

Como ven es muy facil, solo hay que aprender para que sirve cada número, y de ahi en más solo ir probando.


Una último tip, lo mismo que vimos anteriormente sirve también para las carpetas. Pero si trabajamos con carpetas querremos aplicar una regla para todo su contenido, entonces para no repetir la operación muchas veces solo lo hacemos una vez pero de forma recursiva, usando la ocpion -R asi:

$ chmod -R 777 carpeta

Ah y no se olviden que para usar el comando chmod deberan estar como root o usar sudo.

Cambiar permisos sin usar los numeros

Vamos a utilizar unas opciones segun nuestras necesidades, y estas seran “u” para el usuario dueño“g” para el grupo dueño“o” para el resto de los usuarios, y “a” para todos los usuarios, incluyendo usuarios de sistema, usuario y grupo dueños. Sabiendo esto estamos en condiciones de entender esta forma de usar chmod, que seria asi:

$ chmod [quien][+/-][permiso] [archivo o carpeta]

donde en [quien] es alguno de los parametros anteriormente explicados (u,g,o,a)[+/-] es para asignar o quitar el permiso que elijamos. En [permiso] podremos colocar: lectura (r), ejecución (x), escritura (w). Veamos un ejemplo

$ sudo chmod a+x archivo

aqui le hemos asignado permisos de ejecución para todos los usuarios en el archivo de prueba que utilizamos. Ademas como en el método anterior, la opcion -R sigue disponible en caso que deseemos hacerlo recursivamente para una carpeta, ejemplo:

$ chmod -R a+rwx carpeta/

aqui le asignamos, en forma recursiva, a todos los usuarios permisos de lectura, escritura y ejecución sobre el fichero “carpeta”.


Fuente: http://www.tinchio.com

Comments