En esta guía, aprenderá sobre el comando chmod. El comando chmod de Linux es uno de los comandos más utilizados, especialmente por los administradores de sistemas, al asignar permisos de modificación de archivos y carpetas.
Por lo general, se usa al instalar y configurar varios servicios y funciones en un sistema Linux. El comando generalmente se usa junto con un conjunto de notaciones octales o caracteres alfabéticos para cambiar los permisos de archivo.
Permisos de archivos de Linux
Cada archivo en los sistemas Linux tiene un conjunto de permisos. Hay 3 tipos de permisos asociados con un archivo.
- Permisos de lectura identificados por 'r ‘
- Permisos de escritura identificados por 'w ‘
- Permisos de ejecución identificados por 'x ‘
Para verificar los permisos de archivo de cualquier archivo, use el comando ls y -l
opción como se muestra a continuación.
$ ls -l
Por ejemplo, para enumerar los permisos de archivo1.txt, ejecute el comando.
$ ls -l file1.txt
Salida de muestra
Vamos a desglosar este resultado
El primer guión (-) indica que los permisos pertenecen a un archivo y no a una carpeta. Los permisos de una carpeta comienzan con un símbolo d para denotar un directorio como se muestra.
ls -l /var/www
Salida de muestra
En la salida, la cadena rwxr-xr-x
denota los permisos de este archivo. Esto se divide en 3 secciones de la siguiente manera.
- usuario permisos
(rwx)
– Esto representa los permisos del propietario o usuario que creó el archivo. Elrwx
implica que el propietario puede leer, escribir y ejecutar el archivo. - Grupo permisos
(r-x)
-Esto representa los permisos que pertenecen a los usuarios en el grupo del archivo. Los permisos r-x implican que los usuarios del grupo pueden leer y ejecutar el archivo, pero no pueden escribir en él. - Otro permisos de usuario
(r-x)
– Estos son permisos para otros usuarios que no pertenecen a las dos categorías mencionadas anteriormente. En este caso, otros usuarios solo pueden leer el archivo.
Modos de permiso
Hay 2 modos de permiso que se pueden pasar a chmod
comando:
- Notación octal
- Caracteres alfabéticos
1. Notación octal
Considere los permisos rwx
. Esto implica lo siguiente:
r=4
w=2
x=1
por ejemplo, rwx
es el equivalente de 4+2+1 que es igual a 7.
Los valores numéricos correspondientes a cada uno de los alfabetos se agregan para obtener los permisos de archivo.
Por ejemplo, un archivo con permisos rwxr-xr--
tendrá una notación octal de 754
.
He aquí por qué:
Cálculo
rwx = 4+2+1 = 7
r-x = 4+0+1 = 5
r-- = 4+0+0 = 4
Como habrás notado, el guión toma el valor nulo y se le asigna 0 .
Tomemos otro ejemplo:
Digamos que tenemos otro archivo con permisos rwx-rw-rw-
.
La notación octal se calcularía de la siguiente manera:
Cálculo
rwx = 4+2+1 = 7
r-x = 4+2+0 = 6
r-- = 4+2+0 = 6
En última instancia, esto nos daría 766
como la notación octal correspondiente a rwx-rw-rw-
.
Cambiar permisos de archivos con el comando chmod usando notación octal
Para cambiar los permisos de archivo de un archivo, utilice la siguiente sintaxis.
chmod [octal value] file-name
Por ejemplo, para cambiar los permisos de archivo de un archivo file1.txt, decir rw-r--r--
ejecutar:
chmod 644 file1.txt
Esto se ilustra en el siguiente cálculo
(user) rw- = 4+2+0 = 6
(group) r-- = 4+0+0 = 4
(others)r-- = 4+0+0 = 4
2. Notación alfabética
En notación alfabética, los permisos de escritura están segmentados en 3 secciones y cada sección lleva el rwx
secciones.
Desde la izquierda, tenemos las siguientes notaciones:
u (user)
g (group)
o (others)
a (all)
Esto se ilustra mejor a continuación:
Cambiar permisos de archivo con el comando chmod usando notación alfabética
Para cambiar los permisos de archivo usando notación alfabética, use la siguiente sintaxis.
chmod [user type(u/g/o/a)] [add/revoke(+/-)] [permission type(r/w/x)]
Por ejemplo, para cambiar los permisos del propietario de un archivo para leer y escribir, ejecute:
chmod u+rw file1.txt
Para otorgar permisos de escritura a todos, ejecute:
chmod a+w file1.txt
Para eliminar el permiso de escritura para todos los demás usuarios, ejecutamos:
chmod o-w file1.txt
Para cambiar los permisos de un directorio, ejecutamos:
chmod [permission] [directory name]
Para cambiar los permisos de un directorio con sus archivos y subdirectorios de forma recursiva, ejecutamos:
chmod -R [permission] [directory name]
Por ejemplo, para establecer el permiso en 755
recursivamente a /var/www/
directorio ejecutar el comando.
chmod -R 755 /var/www
Esperamos que este artículo haya sido revelador y te haya ayudado con los aspectos básicos del uso del comando chmod. Como siempre, sus comentarios son bienvenidos.