Que tal, esta vez les traigo como cambiar los permisos de los archivos desde la consola, haciendo uso del comando chmod. A lo mejor te preguntarás que son los permisos, a lo mejor no, pero bueno, los permisos son los que indican que acciones y quienes pueden realizarlas sobre un determinado archivo.

En linux, y de manera más amplia en los sistemas unix-like se tiene un esquema de permisos o por decirlo de otra forma una división para saber a quienes les estamos asignando que permisos, son tres, los permisos del usuario propietario del archivo, los del grupo al que pertenece el usuario y todos los demás (es decir, cualquier otra persona que no sea el propietario y no pertenezca al grupo del usuario propietario) así en ese orden (propietario-grupo-todos los demas) es como se muestran los permisos de archivo en la consola cuando ejecutamos un ls -l, tal y como se muestra en la imagen siguiente:

imagen mostrando ls -l

Como se aprecia en la pantalla en el lado izquiedo aparece una parte que dice “-rw-r–r–”, ésto nos indica que este archivo tiene permisos de lectura(r) y escritura (w) para el usuario propietario y de lectura para la parte de el grupo y para todos los demas, recuerden que las tres secciones (propietario, grupo, todos los demas) pueden tener los tres permisos (lectura(r), escritura(w) y ejecución(x)).

Aquí viene lo interesante, ¿Cómo cambio los permisos desde la consola?… bueno para modificar permisos en la consola hacemos uso del comando chmod y siempre que seamos los propietarios de los archivos va a funcionar, para asignar permisos tenemos dos opciones, una es usar letras: w, r, x y signos de +(agregar) y -(quitar) y la otra es usar numeros: 0 (sin permiso), 1 (ejecución), 2 (escritura) y 4 (lectura), a mi en lo particular se me hace más facil usar los numeros, parece mas confuso pero no es así y al final resulta muy fácil.

Así que les explicaré como usar los números, los numero 0, 1, 2, y 4 tienen su significado como pudiste leer en el parrafo anterior, podemos sumar estos numeros y asi asignar más de un permiso, es decir, si yo quiero permiso de ejecución usaré el numero 1, si yo quiero permiso de ejecución y además de escritura sumo el valor para ejecución y escritura (1+2) ésto nos da como resultado el número 3 y es el número que usaremos, y si quiero permisos de ejecución, escritura y lectura pues realizamos el mismo proceso (1+2+4) lo que nos da 7 como resultado y al usar ese número tendremos todos los permisos. ¿Confundido?… Sólo recuerda que el permiso de ejecucion tiene por valor 1, el de escritura 2 y el de lectura 4, si queremos más de un permiso sumamos el valor de los permisos que queremos y el resultado es el número que usaremos.

Ok, ahora lo que sigue, en la salida de consola que se muestra en la imagen se muestra -rw-r–r–, así como lo ves eso es lo que explique arriba, el orden de usuarios es: propietario, grupo, todos los demás, si nosotros quisieramos asignar  esos permisos en la consola sería de la siguiente forma: chmod 644 nombreArchivo ¿Por qué 644?…  recuerda que  6 es la suma de  4 (lectura) y 2 (escritura) que es la parte del propietario, 4 es el valor de lectura y como sólo se asigna ese permiso se pone tal cual para la parte del grupo (segundo número) y la parte de todos los demás (tercer número).

¿Que pasa si quiero tener todos los permisos como propietario y a mi grupo y todos los demás solo que tengan de lectura y ejecucion?… Bueno, como propietario quieres todos los permisos lectura(4), escritura(2) y ejecución(1), bueno sumamos, ¿Cuanto es el resultado?… 7, bueno entonces para la parte del propietario ya tenemos que debemos usar 7, para el grupo y todos los demas sólo quieres lectura(4) y ejecución(1) y el resultado de esa suma es 5, ¿Correcto? bueno si es así entonces ya tenemos el número a usar para el grupo y todos los demás, esto en conjunto nos da: 755, así que para ponerle esos permisos a un archivo escribimos en la consola: chmod 755 Archivo.

Bueno, ahora ya saben como cambiar permisos desde la consola usando chmod y sabiendo que significa el número que se pone antes del archivo, espero que haya quedado claro, ¿Tienes dudas?… pon tu comentario e intentaremos aclararlo.

Saludos!

16 Responses to “Cambiar Permisos De Archivos Desde La Consola”

  1. aumakua Says:

    Que interesante nota Raul, gracias, has cambiado mi forma de ver linux :)

  2. huevas Says:

    Tu no sabes usar linux que estas hablando jajajaja

  3. aumakua Says:

    Raul, pero a donde leíste que yo uso linux, solo dije que has cambiado mi forma de verlo.

    Ay Raul, pero como serás!.

  4. huevas Says:

    JAjajajaja, que bien te expresas Julio, hasta te desconozco jajaja

  5. pitirijas Says:

    mmm y de seguro despues de estos comentarios se fueron a un cafe no? pinches jotos!

  6. k4br3r4 Says:

    jajajajajajajajajaja

  7. eugenio Says:

    Muchas, gracias, muy didáctico tu post, por fin entiendo lo que hago, y no sólo hago un copy and paste en la consola.
    En verdad gracias.


  8. [...] se manejan los permisos de lectura, escritura y ejecución de los archivos, si no sabes que onda, aqui puedes aprender un poco al respecto, existen permisos base para la creación de archivos y la de directorios, los permisos base de los [...]


  9. [...] se manejan los permisos de lectura, escritura y ejecución de los archivos, si no sabes que onda, aqui puedes aprender un poco al respecto, existen permisos base para la creación de archivos y la de directorios, los permisos base de los [...]

  10. jcalderon Says:

    esto se puede hacer tambien en forma visual, para no tener que usar la consola.

  11. huevas Says:

    Efectivamente, con click derecho sobre los archivos y clickando en la opción propiedades del menu contextual.

    Saludos!

  12. caos30 Says:

    Muy bien explicado ;)

    Yo añadiría (especialmente pensando en quien se estrena en estas asuntos de la consola…) que por ejemplo a veces es necesario identificarse como usuario para proceder a cambiar los permisos de un archivo o carpeta.

    Por ejemplo, en UBUNTU, sería recomendable anteponer la palabra “sudo” para decirle al sistema que tienes derechos de administración. Evidentemente te pedirá la contraseña:

    sudo chmod 755 /var/www

    (ejemplo para cambiar los permisos del directorio www)

    SERGI

  13. caos30 Says:

    Ah, por cierto, si quieres saber más sobre este comando de consola escribe:

    chmod –help

    En general puedes hacerlo con cualquier comando de consola. De esta forma puedes saber TODAS LAS OPCIONES que tienes con ese comando!

    Por ejemplo, una muy útil (también típica en otros comandos) es la opción de RECURSIVIDAD, es decir, el aplicar el comando en un directorio y todos los archivos y subdirectorios que contenga. En nuestro caso bastaría con incluir el operador “-R” después del comando:

    sudo chmod -R 755 /var/www

    SERGI

  14. wizard Says:

    Me gustaria expresarte que los numeros resultan de la configuracion utilizando el sistema binario, por ejemplo — esto seria cero para los permisos de lectura, excritura y para ejecutar, si yo quiero expresar -w- seria cero en lectura, uno en escritura y cero para ejecutar este numero es 010 que es 2 en el sistema decimal.

  15. tajamar Says:

    Sinceramente muy buena la publicacion. Pero además debo agregar que son muy homosexuales silvestres que seguramente se pelean y en realidad se aman como locos/as :P

  16. Puecaly Says:

    Estuvo, excelente, me quedo muy claro todo :) jejejejje

    Lo ocupaba para unas capturas del WireShark ejecutado como root


Leave a Reply