Tarde o temprano en el mundo Linux, tendrás que cambiar el permiso de un archivo o directorio y esto es muy sencillo gracias al comando chmod.
En este artículo, compartiré contigo algunos de los ejemplos prácticos del comando chmod. También te explicaré algunos términos populares como chmod 777 o chmod 755 o chmod -r.
Antes de que veas los ejemplos de chmod, te aconsejo encarecidamente que aprendas los fundamentos de los permisos de archivos en Linux, ya con esto, el comando chmod será mucho más fácil una vez que entiendas los permisos.
Comando chmod en Linux
¿Qué es chmod? chmod significa cambiar el modo. Este comando se utiliza para cambiar el modo de acceso.
Pero ¡espera! ¿No sirve para cambiar el permiso? En realidad, en los primeros días de Unix, los permisos se llamaban modo de acceso. Es por lo que este comando en particular fue llamado chmod.
El comando chmod tiene la siguiente sintaxis:
chmod [opción] modo archivo
Antes de ver cómo usar chmod, debe conocer sus opciones.
- -v : muestra un diagnóstico para cada archivo procesado
- -c : como verbose pero informando sólo cuando se hace un cambio
- -reference=FILE : utiliza el modo de FILE en lugar de los valores de MODE
- -R : cambia los permisos recursivamente
Ten en cuenta que la opción -v informa si se han realizado cambios o si no es necesario hacer nada. Cuando se combina con la opción -R, -v puede producir mucha salida. -reference=FILE te permite utilizar el modo de permiso actual de FILE como los permisos a establecer en el archivo de destino. Ten en cuenta que esta opción requiere un prefijo de doble guion (-) no (-).
Ejemplos del comando chmod
Usar el comando chmod es muy fácil si sabes qué permisos tienes que establecer en un archivo.
Por ejemplo, si quiere que el propietario tenga todos los permisos y ningún permiso para el grupo y el público, necesita establecer el permiso 700 en modo absoluto:
chmod 700 nombre_archivo
Puedes hacer lo mismo en modo simbólico.
chmod u=rwx nombre_archivo
Si quieres una manera fácil de conocer el permiso de los archivos de Linux en modo numérico o simbólico, puedes usar esta calculadora chmod. Sólo tienes que seleccionar los permisos adecuados y te dirá los permisos tanto en modo absoluto como simbólico.
Cambiar el permiso de todos los archivos de un directorio de forma recursiva
chmod tiene la opción recursiva que le permite cambiar los permisos de todos los archivos de un directorio y sus subdirectorios.
chmod -R 755 directorio
chmod 777: Todo para todos
Puede que hayas oído hablar de chmod 777. Este comando dará permiso de lectura, escritura y ejecución al propietario, grupo y público.
Si quieres cambiar el modo a 777, puedes usar el comando así:
chmod 777 nombre_archivo
chmod 777 se considera potencialmente peligroso porque estás dando permiso de lectura, escritura y ejecución en un archivo/directorio a todo el mundo (que esté en tu sistema). Deberías evitarlo totalmente.
chmod +x o chmod a+x: Ejecución para todos
Probablemente uno de los casos más utilizados de chmod es dar a un archivo el bit de ejecución. A menudo, después de descargar un archivo ejecutable, necesitarás añadir este permiso antes de usarlo. Para dar permiso al propietario, al grupo y a todos los demás para ejecutar el archivo:
chmod +x /direccion/del/archivo
chmod 755: Sólo el propietario puede escribir, leer y ejecutar para todos
Este siguiente comando establecerá el siguiente permiso en el archivo: rwxr-xr-x. Sólo el propietario podrá escribir en el archivo. El propietario, los miembros del grupo y todos los demás tendrán permiso de lectura y ejecución.
chmod 755 /direccion/del/archivo
chmod 700: Todo para el propietario
Este comando dará permiso de lectura, escritura y ejecución al propietario. El grupo y los demás no tendrán permisos, ni siquiera de lectura.
chmod 700 /direccion/del/archivo
chmod 666: Nadie ejecuta
Para dar al propietario, al grupo y a todos los demás, permisos de lectura y escritura en el archivo.
chmod -c 666 /direccion/del/archivo
chmod 644: Todos pueden leer, sólo el propietario puede escribir
Con este siguiente, el propietario tendrá permiso de lectura y escritura mientras que el grupo y todos los demás tienen permiso de lectura.
chmod 644 /direccion/del/archivo
chmod 600: El propietario puede leer y escribir, nada más para nadie
Con este siguiente, el propietario tendrá lectura y escritura mientras que el grupo y todos los demás no tendrán ningún permiso.
chmod 600 /direccion/del/archivo
Ejemplos de comandos chmod en modo simbólico
En los ejemplos anteriores, utilizar la máscara de bits para establecer el nuevo MODO es fácil de calcular. Se requiere una simple adición y considerar lo siguiente:
- X = 1
- W = 2
- R = 4
Ahora puedes ver fácilmente de dónde saqué los 755, 666, 640. No tienes que usar la máscara de bits para establecer un nuevo permiso. Hay una forma más legible para los humanos. Este segundo formato se ve así:
chmod OPCIONES {u,g,o}{+,-,=}{r,w,x} /direccion/del/archivo
Aunque pueda parecer complicado, es bastante sencillo. Primero se empieza escribiendo chmod y las OPCIONES que se deseen. Luego, pregúntate: ¿Para quién estoy cambiando los permisos? Usuario, Grupo, Otros. Esto le dará la primera sección del comando:
chmod OPCIONES {u,g,o}
El siguiente paso para completar el comando, usted decide añadir bits de permisos (+), eliminar permisos (-), o establecer el permiso (=). Este último agregará o eliminará permisos según sea necesario para establecer el permiso como usted lo solicitó.
chmod -v u+
La siguiente sección es donde se decide el MODO de permiso a aplicar (+), eliminar (-) o igualar (=). Puede especificar cualquier combinación de rwx.
chmod -v u+rw
El siguiente ejemplo aplicará el permiso de lectura/escritura al archivo para el propietario. La opción verbose hará que chmod informe sobre la acción.
chmod -v u+rw /direccion/del/archivo
Este siguiente establecerá el permiso de escritura del grupo sobre el directorio y todo su contenido de forma recursiva. Informará sólo de los cambios.
chmod -cR g+w /direccion/del/directorio
Puedes combinar múltiples operaciones que se realizan en el permiso como el siguiente ejemplo. Se asegurará de que el propietario tiene lectura/escritura/ejecución, también añadirá permiso de escritura para el grupo y eliminará la ejecución para todos los demás:
chmod u=rwx,g+w,o-x /direccion/del/archivo
Este último utilizará rFile como referencia para establecer el permiso del archivo. Cuando se complete, los permisos del archivo serán exactamente los mismos que los de rFile
chmod --reference=/direccion/del/rFile /direccion/del/archivo
Hay más opciones y MODE que pueden ser usados con chmod que no están cubiertos o mencionados aquí. Quería mantener esto a lo básico y espero ayudar a algunos nuevos usuarios de Linux.
¡Una palabra de advertencia!
Con chmod y sudo ahora tienes el poder de cambiar los permisos en casi cualquier archivo. Esto NO significa que debas hacerlo. Los permisos fuera de su directorio personal están establecidos de la manera que están por una razón. Cambiarlos es raramente la solución apropiada a cualquier problema.
Espero que estos ejemplos de comandos chmod te hayan sido útiles. ¿Tienes alguna pregunta o sugerencia? Por favor, déjanos un comentario abajo.