Cambiar Permisos De Archivos Desde La Consola
11 Julio 2007
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:

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!



12 Julio 2007 at 2:57 pm
Que interesante nota Raul, gracias, has cambiado mi forma de ver linux
12 Julio 2007 at 3:09 pm
Tu no sabes usar linux que estas hablando jajajaja
12 Julio 2007 at 4:25 pm
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!.
12 Julio 2007 at 6:38 pm
JAjajajaja, que bien te expresas Julio, hasta te desconozco jajaja
12 Julio 2007 at 9:36 pm
mmm y de seguro despues de estos comentarios se fueron a un cafe no? pinches jotos!
15 Julio 2007 at 2:06 am
jajajajajajajajajaja
22 Diciembre 2007 at 4:04 am
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.
5 Enero 2008 at 6:40 pm
[...] 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 [...]
5 Enero 2008 at 6:42 pm
[...] 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 [...]
23 Enero 2008 at 2:43 pm
esto se puede hacer tambien en forma visual, para no tener que usar la consola.
23 Enero 2008 at 3:55 pm
Efectivamente, con click derecho sobre los archivos y clickando en la opción propiedades del menu contextual.
Saludos!
16 Mayo 2008 at 6:02 pm
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
16 Mayo 2008 at 6:05 pm
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
10 Octubre 2008 at 2:52 am
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.
3 Abril 2009 at 8:41 pm
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
23 Junio 2009 at 3:57 pm
Estuvo, excelente, me quedo muy claro todo
jejejejje
Lo ocupaba para unas capturas del WireShark ejecutado como root