Cambiar Permisos De Archivos Desde La Consola

Publicado: 11 julio 2007 en Informática, Linux Tips, Seguridad Informática

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!

About these ads
Comentarios
  1. aumakua dice:

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

  2. huevas dice:

    Tu no sabes usar linux que estas hablando jajajaja

  3. aumakua dice:

    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 dice:

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

  5. pitirijas dice:

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

  6. k4br3r4 dice:

    jajajajajajajajajaja

  7. eugenio dice:

    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 dice:

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

  11. huevas dice:

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

    Saludos!

  12. caos30 dice:

    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 dice:

    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 dice:

    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 dice:

    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 dice:

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

    Lo ocupaba para unas capturas del WireShark ejecutado como root

  17. Marcos Moreno dice:

    Muy buen post mis amigas, me ayudo a comprender mejor y no solo andar haciendo copy/paste. haber si nos vamos a cenar todas jejeje

  18. [...] 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 [...]

  19. Luis dice:

    Hola, muchas gracias, me fue muy util.
    pero tengo una consulta copie unas carpetas desde un disco duro no lo podia hacer como usuario a si que use el sudo bash, llame al nautilus y lo copie toda mi data pero como root como puedo hacer que todo mi backup pueda cambiarlo de propietario por que intento hacerlo desde el nautilus que abri con el sudo pero no me da la chance a cambiar de propietario. gracias por su tiempo

  20. Luis dice:

    Bueno un poco de navegar en la web soluciona los problemas.

    Encontré la solución a mi problema para cambiar de usuario es simplemente:

    $ chown -R usuario carpeta o archivo

    nada mas, y en cuanto a los permisos ya esta detallado arriba

  21. wfrancootero dice:

    muhisimas gracias por este post se me hzo muy facil este metodo para aprender a dar permisos sobre todo lo de la suma de los numeros esta ba como loco aprendiendome una taba con números binarios y que segun como esten estos numeros se utilizaba el mumero de 1 hasta 7
    muchas gracias de nuevo se me hizo mas facil realizar mi trabajo

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s