Ir al contenido principal

Tutorial del comando chmod


Instrucciones detalladas para aprender a manejar correctamente los permisos de los archivos en sistemas Linux / Unix, con el comando chmod.


Para cambiar los permisos de un archivo o directorio del servidor, tienes que utilizar el comando chmod.

En general, cualquier comando de linux o unix tiene una ayuda, que puedes ver invocando al comando, seguido con el parámetro -help. Algo como esto:

chmod -- help

Este comando en concreto tiene varias sintaxis permitidas. De entre ellas por ejemplo puedes utilizar:

chmod [ opciones ] modo-en-octal fichero

Las opciones podemos indicarlas o no, según queramos. Opciones típicas son:

-R para que mire también en los subdirectorios de la ruta.
- v para que muestre cada fichero procesado
- c es como -v, pero sólo avisa de los ficheros que modifica sus permisos


El modo en octal es un número en base 8 (octal) que especifique el permiso. Los números en octal se especifican empezando el número por un 0. Por ejemplo, 0777 es indica todos los permisos posibles para todos los tipos de usuario. 0666 indica que se dan permisos de lectura y escritura, pero no de ejecución. 0766 indica que se dan permisos de lectura y escritura, pero sólo tienen permiso de ejecución para los usuarios que son dueños del archivo. 0755 indica permisos para lectura y ejecución, pero escritura sólo para el usuario que es dueño del archivo.

Por ejemplo:

chmod 0777 archivo.txt
Asigna todos los permisos al archivo archivo.txt

chmod 0666 *
Asigna permisos de lectura y escritura, no de ejecución a todos los archivos y directorios del directorio donde ejecutamos el comando.

chmod -R 0644 *
Esto da permisos a todos los archivos y directorios del directorio donde se invoca el comando y de todos los directorios que cuelgan de él. Los permisos asignados son de lectura a todos los usuarios, de escritura sólo al dueño del archivo y de ejecución a nadie.

Otro modo de trabajo con chmod

Luego también se pueden asignar permisos de otra manera, utilizando otra posible sintaxis de chmod, que tal vez resulte más útil si no queremos tratar con los valores en octal.

chmod [ opciones ] modo[,modo]… fichero

Para ello tenemos que tener claros los distintos grupos de usuarios:

u: usuario dueño del fichero
g: grupo de usuarios del dueño del fichero
o: todos los otros usuarios
a: todos los tipos de usuario (dueño, grupo y otros)


También hay que saber la letra que abrevia cada tipo de permiso:

r: se refiere a los permisos de lectura
w: se refiere a los permisos de escritura
x: se refiere a los permisos de ejecución


Ejemplos

chmod o=rwx *
Asigna permisos de lectura, escritura y ejecución para los usuarios "otros" a todos los archivos de la carpeta

chmod a=rwx fichero.txt
Asigna todos los permisos a todos los usuarios para el archivo fichero.txt

chmod go= *
Quita todos los permisos para los usuario del grupo y los usuarios otros.

chmod u=rwx,g=rw,o= *
Da todos los permisos al dueño del fichero, a los del grupo del dueño le asigna permisos de lectura y escritura y a los otros usuarios les quita todos los permisos.


Nota:un espacio después de la coma "," en los distintos modos de permisos que se indiquen hace fallar el comando.


chmod a=r *
Da permisos únicamente de lectura a todos los tipos de usuario.

De un modo parecido a lo que acabamos de ver, también se pueden añadir o quitar permisos con los operadores + y -. Para ello se indica el tipo de usuario y el permiso que se resta o añade. Algo como esto:

chmod a-wrx *
Esto quita todos los permisos a todos los tipos de usuario.

chmod a+r,gu+w *
Este comando asigna permisos de lectura a todos los usuarios y permisos de escritura al dueño del archivo y el grupo del dueño.

chmod u=w,a+r *
Este comando asigna permisos de escritura al usuario dueño y a todos los usuarios les añade permiso de lectura.

Entradas populares de este blog

Fallo al obtener la lista de compartición del servidor

 - Ubuntu Karmic Koala El problema. El detalle es que a veces tengo que revisar archivos que están en otras computadoras que utilizan windows. Al momento de darle en el menú Lugares - Red - Red de Windows y al elegir el grupo de trabajo en el que están mis equipos me aparece el siguiente error. No se puede montar el lugar. Fallo al obtener la lista de compartición del servidor. La solución . La encontré en este articulo de los Foros de Ubuntu, lo voy a copiar tal cual, espero que no le moleste al autor y solo a manera de respaldo. # — Aquí inicia el articulo de los foros de Ubuntu – 1- En principio es necesario que estén instalados: samba samba-common smbclient winbind   2- Luego editar el archivo /etc/samba/smb.conf sudo gedit /etc/samba/smb.conf   A los cambios necesarios para adaptar el sistema, según los tutoriales de samba es necesario tener presente que: a- Donde dice workgroup = WORKGROUP, reemplazar WORKGROUP por el nombre de grupo de ...

Rootear en Ubuntu un teléfono Android

Tengo un teléfono con Android, concretamente un Motorola Defy, y resulta que en Android, basado en Linux, eres un simple usuario y solo puedes realizar algunas tareas. Otras te están vetadas. Conseguir los permisos de superusuario, se llama entre los entendidos rootear el móvil. En principio es una operación que no entraña riesgos, pero en esta vida todo puede fallar. Así que debe quedar claro que si decides rootear el teléfono, lo haces bajo tu propia responsabilidad. También debes entender, que si rooteas el teléfono, los SAT aprovechan para lavarse las manos de cualquier problema y anular la garantía. Y por último, debes saber que es posible que ya no recibas las actualizaciones automáticas de Android. Para rootear teléfonos se utiliza una aplicación llamada Superoneclick . En mi caso, esta parece ser la única solución. Pero este es un programa para Windows, por lo que.... Afortunadamente, esta escrito en .NET, por lo que vamos a poder ejecutarlo con MONO en nuestro ...

Descargar Packet Tracer 5.2 [Windows y Linux]

Packet Tracer 5.2 [Windows y Linux] Packet Tracer es la herramienta de aprendizaje y simulación de redes interactiva para los instructores y alumnos de Cisco CCNA. Esta herramienta les permite a los usuarios crear topologías de red, configurar dispositivos, insertar paquetes y simular una red con múltiples representaciones visuales. Packet Tracer se enfoca en apoyar mejor los protocolos de redes que se enseñan en el currículum de CCNA. Este producto tiene el propósito de ser usado como un producto educativo que brinda exposición a la interfaz comando – línea de los dispositivos de Cisco para practicar y aprender por descubrimiento. Packet Tracer 5.2 es la última versión del simulador de redes de Cisco Systems, herramienta fundamental si el alumno está cursando el CCNA o se dedica al networking. En este programa se crea la topología física de la red simplemente arrastrando los dispositivos a la pantalla. Luego clickando en ellos se puede ingresar ...