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.
Aca pueden encontrar un script que genera los permisos automaticamente



No decÃs como funciona el sistema octal. Tendré que seguir buscando.
Excelente Claro y Conciso
Pues esta bastante claro… pero si quedaria mejor si nos explicaras como funciona ese sistema octal… Gracias.
Wy muchas gracias por esto, es cojonudo, estoy en 1º de informatica y con explicaciones como estas da gusto estudiar
Muy bueno, me ha ayudado bastante para gestionar varios permisos en mis archivos
No se explica como dar permisos a un grupo o usuario especificio.
pero y como le doy permisos solo a un usuario como con fs que seria fs sa . user (cuales_permisos)
Perfecto. El objetivo de la página es presentar el cambio de permisos, no el uso del sistema octal.
buenas espero que esten bien soy gloria, y bueno recien estoy aprendiendo un poco de linux, y bueno hoy intente dar permisos a una carpeta del sistema “lost+found” pero no me sale intente “chmod a+rwx lost+found2 nada
me sale ” chmod: cambiando los permisos de `lost+found’: Operación no permitida ”
y despues me pase al entorno grafico le di propiedades permisos, pero estava desactivada la opcion a cambiar permisos no si entre mal al sistema.
please ayundenme
debes hacerlo como root
osea
sudo chmod
CUANDO COLOCO EL COMANDO EN CUESTION (SEA CUAL FUERE), SIEMPRE ME DA COMO RESULTADO
chmod: cambiando los permisos de ‘/lo que quiero cambiar/’: Sistema de solo lectura
CLARO QUE ESTOY COMO ROOT.
CUAL SERIA EL INCONVENIENTE, MI SISTEMA ES UBUNTU 7.10